专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Flex

Flex4 调用摄像头照相

发布时间:2011-06-27 19:46:54 文章来源:www.iduyao.cn 采编人员:星星草
Flex4 调用摄像头拍照
<?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格式

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: