flash – 使用Actionscript使用网络摄像头拍摄照片
发布时间:2020-12-15 07:26:03 所属栏目:百科 来源:网络整理
导读:我有一个带有网络摄像头和图像的简单actionscript文件.我要做的是 – 当点击一个按钮时,我想捕获网络摄像头和图像的瞬间,并在浏览器的DIV中呈现它.我该如何捕获它?我猜测需要使用bitmapdata.我想通过代码来做到这一点 解决方法 以下是我自己写的回答这个问
我有一个带有网络摄像头和图像的简单actionscript文件.我要做的是 – 当点击一个按钮时,我想捕获网络摄像头和图像的瞬间,并在浏览器的DIV中呈现它.我该如何捕获它?我猜测需要使用bitmapdata.我想通过代码来做到这一点
解决方法
以下是我自己写的回答这个问题的内容.在Chrome,FF和IE9中测试过.
您需要Base64编码器(一个是here)和png / jpg编码器(例如来自Flex库). AS代码: package { import flash.display.BitmapData; import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.external.ExternalInterface; import flash.media.Camera; import flash.media.Video; [SWF(width="640",height="480",backgroundColor="#000000")] public class CameraToJS extends Sprite { private var camera:Camera; private var video:Video; public function CameraToJS() { addEventListener(Event.ADDED_TO_STAGE,addedToStageHandler); stage.addEventListener(MouseEvent.CLICK,saveSnapshot); } protected function addedToStageHandler(event:Event):void { camera = Camera.getCamera(); video = new Video(); video.attachCamera(camera); addChild(video); } protected function saveSnapshot(event:MouseEvent):void { var bmData:BitmapData = new BitmapData(video.width,video.height); bmData.draw(video); var encoder:PNGEncoder = new PNGEncoder(); ExternalInterface.call("image",Base64.encodeByteArray(encoder.encode(bmData))); } } } Javascript代码: function image(data) { document.getElementById("img").src = "data:image/png;base64,"+ data; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读