用flash as3截取摄像头图片信息交由php保存[flash+php保存图片]

用flash as3截取摄像头图片信息交由php保存[flash+php保存图片] 收藏

前段时间做了一个类似的应用,现将源代码公布。(请自行配置php和gd2库)
Flash as3:(放到帧上,可自行修改移至相关class)

function clickHandler(e:MouseEvent):void
{
    var bitmapdata:BitmapData = new BitmapData(video.width, video.height);
    bitmapdata.draw(video);
    var jpgEncoder:JPGEncoder = new JPGEncoder(80);//图片质量
    var jpgStream:ByteArray = jpgEncoder.encode(bitmapdata);
    var header:URLRequestHeader = new URLRequestHeader ("Content-type", "application/octet-stream");
    var jpgURLRequest:URLRequest = new URLRequest ("http://localhost/jpg_encoder_download.php?name=camera.jpg"); //此web url请自行修改
    jpgURLRequest.requestHeaders.push(header);
    jpgURLRequest.method = URLRequestMethod.POST;
    jpgURLRequest.data = jpgStream;
    navigateToURL(jpgURLRequest, "_blank");
}
var video:Video = new Video;
addChild(video);
video.attachCamera(Camera.getCamera());
var btn:Sprite = new Sprite;
btn.graphics.beginFill(0,1);
btn.graphics.drawRoundRect(0,0,100,25,10);
btn.x = 110;
btn.y = 250;
btn.buttonMode = true;
btn.addEventListener(MouseEvent.CLICK, clickHandler);
addChild(btn);
两个类文件BitString.as, JPGEncoder.as,下载后注意大小写,此wp不知道咋整的,把偶上传时的大写都改成小写了。
php:

<?php
if ( isset ( $GLOBALS["HTTP_RAW_POST_DATA"] )) {
    // get bytearray
    $im = $GLOBALS["HTTP_RAW_POST_DATA"];
    // add headers for download dialog-box
    header('Content-Type: image/jpeg');
    header("Content-Disposition: attachment; filename=".$_GET['name']);
    echo $im;
} else echo 'An error occured.';
?>


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ppanyong/archive/2008/11/10/3268455.aspx

你可能感兴趣的:(Flash)