Flash/Flex学习笔记(2):捕获摄像头

简介: Flash中使用摄像头,个人感觉比silverlight要更容易   时间轴第一帧上敲以下代码就可以了: //import fl.controls.Label; //var camera:Camera = Camera.

Flash中使用摄像头个人感觉比silverlight要更容易

 

时间轴第一帧上敲以下代码就可以了

//import fl.controls.Label;

//var camera:Camera = Camera.getCamera();
//trace(camera==null?"未检测到摄像头":"已安装了摄像头");


var W:int=stage.stageWidth;//场景的原始宽度
var H:int=stage.stageHeight;//场景的原始高度

stage.scaleMode=StageScaleMode.NO_SCALE;//舞台禁止缩放,但是好象没效果?

var video:Video;
var camera:Camera=Camera.getCamera();

if (camera==null) {
	trace("未检测到摄像头!");	
	lbl1.text="未检测到摄像头!";
	btnCapture.visible=false;

} else {
	camera.addEventListener(ActivityEvent.ACTIVITY,activityHander);
	video=new Video(camera.width,camera.height);
	trace("视频宽度" + camera.width + "视频高度" + camera.height);
	video.attachCamera(camera);
	//定位到水平中心点
	video.x = (W - video.width) /2;
	video.y=10;
	addChild(video);//加载到当前舞台中
	btnCapture.x = (W - btnCapture.width) /2;
	btnCapture.y=video.y+video.height+5;
	btnCapture.addEventListener(MouseEvent.CLICK,captureImage);

}

function activityHander(e:ActivityEvent):void {
	trace("activityHander:" + e);
}

var dp:DataProvider = new DataProvider();

function captureImage(e:MouseEvent):void {
	//trace("你点击了按钮");
	var bit:BitmapData=new BitmapData(video.width,video.height);
	bit.draw(video);
	var bmp:Bitmap=new Bitmap(bit);
	//bmp.y=btnCapture.y+btnCapture.height+10;
	//bmp.x = (W - bmp.width) /2;
	var d:Date = new Date();
	dp.addItem({label:"截图" + d.getFullYear() + d.getMonth() + d.getDay() + d.getHours() + d.getMinutes() + d.getSeconds() + d.getMilliseconds(),source:bmp});
	
	//addChild(bmp);
	tilelst1.dataProvider = dp;
}

stop();

 

运行效果图

img_2211b2594d4022970e9d67e9985c7d7f.jpg

 

源代码下载http://cid-2959920b8267aaca.skydrive.live.com/self.aspx/Flash/GetCamera.rar 

目录
相关文章
|
4月前
|
前端开发
怎样使用@media 媒体查询自适应网页窗口
怎样使用@media 媒体查询自适应网页窗口
15 0
|
12月前
|
API
获取屏幕的宽和高-Display中getHeight()和getWidth() 官方废弃
获取屏幕的宽和高-Display中getHeight()和getWidth() 官方废弃
46 0
pc端媒体查询尺寸大全
pc端媒体查询尺寸大全
96 0
|
iOS开发
关于iPhone设备不同显示尺寸适配的一些方法
关于iPhone设备不同显示尺寸适配的一些方法     ------关于适配的理解------ 1、什么是适配?     适配是对不同硬件和系统软件的适应,硬件包括屏幕显示,处理器,内存等等(目前主要是屏幕适配,iPhone 6s新增了3D Touch功能,其他硬件功能并没有实质性的改变),软件主要是不同iOS系统(有些在最新系统(通常会尽量向下兼容)不再支持的方法都需要做一些判断)。
855 0
|
编解码 前端开发 Shell
与众不同 windows phone (22) - Device(设备)之摄像头(硬件快门, 自动对焦, 实时修改捕获视频)
原文:与众不同 windows phone (22) - Device(设备)之摄像头(硬件快门, 自动对焦, 实时修改捕获视频) [索引页][源码下载] 与众不同 windows phone (22) - Device(设备)之摄像头(硬件快门, 自动对焦, 实时修改捕获视频) 作者:webabcd介绍与众不同 windows phone 7.
1005 0
|
图形学 内存技术
Flash/Flex学习笔记(55):背面剔除与 3D 灯光
Animation in ActionScript3.0 这本书总算快学完了,今天继续:上一回Flash/Flex学习笔记(50):3D线条与填充 里,我们知道任何一个3D多面体上的某一个面,都可以分解为多个三角形的组合。
917 0
|
vr&ar 内存技术
Flash/Flex学习笔记(25):摩擦力与屏幕环绕
摩擦力: 假如一个物体在某个方向上沿直线运行,摩擦力会使该方向上的速度越来越小,直到停止。 上图示意了该过程,物体以moveAngle角度正向运动,最终的速度speed矢量为vx矢量与vy矢量的矢量和,在每个单位时间内的位移即Speed矢量的大小,分解到x,y轴后,即为vx与vy;加入摩擦力后,speed矢量每单位时间将减少Friction值,也就是视觉上的越来越慢。
822 0