Photo Booth - Flash 摄像头捕捉图像

fmms 13年前
     Photo Booth是一个基于AS3 + PHP5开发,能够从摄像头获取图像的开源项目。    <br />    <p><img alt="Photo Booth - Flash 摄像头获取图像" src="https://simg.open-open.com/show/6c4c816483a49c808e9c287bcf6c9ef6.jpg" width="400" height="207" /></p>    <br /> ActionScript 3.0 代码:    <pre class="brush:java; toolbar: true; auto-links: false;">import flash.display.Bitmap; import flash.display.BitmapData; import com.adobe.images.JPGEncoder;   var snd:Sound = new camerasound(); //new sound instance for the "capture" button click   var bandwidth:int = 0; // Maximum amount of bandwidth that the current outgoing video feed can use, in bytes per second. var quality:int = 100; // This value is 0-100 with 1 being the lowest quality.    var cam:Camera = Camera.getCamera(); cam.setQuality(bandwidth, quality); cam.setMode(320,240,30,false); // setMode(videoWidth, videoHeight, video fps, favor area) var video:Video = new Video(); video.attachCamera(cam); video.x = 20; video.y = 20; addChild(video);   var bitmapData:BitmapData = new BitmapData(video.width,video.height);   var bitmap:Bitmap = new Bitmap(bitmapData); bitmap.x = 360; bitmap.y = 20; addChild(bitmap);   capture_mc.buttonMode = true; capture_mc.addEventListener(MouseEvent.CLICK,captureImage);   function captureImage(e:MouseEvent):void {  snd.play();  bitmapData.draw(video);  save_mc.buttonMode = true;  save_mc.addEventListener(MouseEvent.CLICK, onSaveJPG);  save_mc.alpha = 1; }   save_mc.alpha = .5;   function onSaveJPG(e:Event):void{  var myEncoder:JPGEncoder = new JPGEncoder(100);  var byteArray:ByteArray = myEncoder.encode(bitmapData);    var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");    var saveJPG:URLRequest = new URLRequest("save.php");  saveJPG.requestHeaders.push(header);  saveJPG.method = URLRequestMethod.POST;  saveJPG.data = byteArray;    var urlLoader:URLLoader = new URLLoader();  urlLoader.addEventListener(Event.COMPLETE, sendComplete);  urlLoader.load(saveJPG);    function sendComplete(event:Event):void{   warn.visible = true;   addChild(warn);   warn.addEventListener(MouseEvent.MOUSE_DOWN, warnDown);   warn.buttonMode = true;  }   }   function warnDown(e:MouseEvent):void{  navigateToURL(new URLRequest("images/"), "_blank");  warn.visible = false; }   warn.visible = false;</pre>PHP代码:    <br />    <pre class="brush:php; toolbar: true; auto-links: false;">                    <!--?php if(isset($GLOBALS["HTTP_RAW_POST_DATA"])){  $jpg = $GLOBALS["HTTP_RAW_POST_DATA"];  $img = $_GET["img"];  $filename = "images/poza_". mktime(). ".jpg";  file_put_contents($filename, $jpg); } else{  echo "Encoded JPEG information not received."; } ?--></pre>    <br />    <p><strong>项目主页:</strong><a href="http://www.open-open.com/lib/view/home/1325770046640" target="_blank">http://www.open-open.com/lib/view/home/1325770046640</a></p>