Flex4 调用摄像头拍照
发布时间:2020-12-15 03:53:05 所属栏目:百科 来源:网络整理
导读:? xml version = "1.0" encoding= "utf-8" ? s : Application xmlns : fx= "http://ns.adobe.com/mxml/2009" xmlns : s= "library://ns.adobe.com/flex/spark" xmlns : mx= "library://ns.adobe.com/flex/mx" width = "500" height = "350" creationComplete
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="500" height="350" creationComplete="application1_creationCompleteHandler(event)"> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.events.CloseEvent; import mx.events.FlexEvent; import mx.graphics.codec.PNGEncoder; ? private const CAMERA_WIDTH:int=400; private const CAMERA_HEIGHT:int=300; private var _camera:Camera; private var _pngEn:PNGEncoder; private var _bitmapData:BitmapData; private var _fr:FileReference; ? protected function application1_creationCompleteHandler(event:FlexEvent):void { _pngEn=new PNGEncoder; _fr=new FileReference; ? checkCamera(); } ? private function checkCamera(event:CloseEvent=null):void { _camera=Camera.getCamera(); if(_camera!=null){ _camera.setMode(400,300,24); _camera.setQuality(0,100); ? cameraDisplay.attachCamera(_camera); cutCameraBtn.enabled=true; }else{ Alert.okLabel="重试"; Alert.show("找不到摄像头,程序将重新查找","对不起",4,null,checkCamera); } } ? private function getDateString():String{ var date:Date=new Date; return "拍照"+date.getFullYear()+(date.getMonth()+1)+date.getDate()+date.getHours()+date.getMinutes()+date.getSeconds()+date.getMilliseconds(); } ? protected function cutCameraBtn_clickHandler(event:MouseEvent):void { _bitmapData=new BitmapData(CAMERA_WIDTH,CAMERA_HEIGHT); _bitmapData.draw(cameraDisplay); ? var bytes:ByteArray=_pngEn.encode(_bitmapData); _fr.save(bytes,getDateString()+".png"); ? //release bytes.length=0; _bitmapData.dispose(); } ? ]]> </fx:Script> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> ? <mx:VideoDisplay id="cameraDisplay" width="400" height="300" y="10" x="50"/> <mx:Button id="cutCameraBtn" label="拍照" click="cutCameraBtn_clickHandler(event)" enabled="false" x="227" y="318"/> </s:Application> ?? 图片保存为png格式 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |