xmlns:s=”library://ns.adobe.com/flex/spark”
xmlns:mx=”library://ns.adobe.com/flex/mx” minWidth=”955″ minHeight=”600″ creationComplete=”application1_creationCompleteHandler(event)”>
import mx.controls.Alert;
import mx.core.UIComponent;
import mx.events.FlexEvent;
import mx.graphics.codec.JPEGEncoder;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.utils.UIDUtil;
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
initCamera(videoDis);
}
//初始化Camera控件,并添加在VideoDisplay
public function initCamera(videoDis:UIComponent):void
{
var myCamera:Camera=Camera.getCamera();//获取客户端摄像头
myCamera.setMode(500,500,30);
var myVideo:Video=new Video(500,500);
myVideo.attachCamera(myCamera);//获取摄像头的视频流
videoDis.addChild(myVideo);
}
//将可视的UIComponent组件转换为图片
public function UItoBitmap(source:UIComponent,target:UIComponent):void
{
var width :int=source.width;
var height :int=source.height;
var bitmapData:BitmapData=new BitmapData(width,height);
bitmapData.draw(source,new Matrix());
var bitmap:Bitmap=new Bitmap(bitmapData);
var uic:UIComponent=new UIComponent();
uic.addChild(bitmap);
target.addChild(uic);
}
//将可视的UIComponent组件保存为本地图片
public function UISaveAsImg(imgID:UIComponent):void
{
var width :int=imgID.width;
var height :int=imgID.height;
var bitmapData:BitmapData=new BitmapData(width,height);
bitmapData.draw(imgID);
var byteArr:ByteArray=bitmapData.getPixels(new Rectangle(0,0,width,height));
var byteArr123:ByteArray=new JPEGEncoder().encodeByteArray(byteArr,width,height);
var fileRefer:FileReference=new FileReference();
fileRefer.save(byteArr123,UIDUtil.createUID()+”.png”);
fileRefer.addEventListener(Event.COMPLETE,function completeHandler():void{
Alert.show(“保存本地成功”);
});
}
//照片上传到服务器
protected function upLoadImg(imgID:UIComponent):void
{
var width :int=imgID.width;
var height :int=imgID.height;
var bitmapData:BitmapData=new BitmapData(width,height);
bitmapData.draw(imgID);
var byteArr:ByteArray=bitmapData.getPixels(new Rectangle(0,0,width,height));
var byteArr123:ByteArray=new JPEGEncoder().encodeByteArray(byteArr,width,height);
webService.UploadFile(byteArr123,”123.png”);
}
protected function webService_faultHandler(event:FaultEvent):void
{
Alert.show(event.fault.toString());
}
protected function webService_successHandler(event:ResultEvent):void
{
Alert.show(event.result.toString());
}
]]>