flex+php在线拍照一[51空间]

昨天用flex+php做了一个在线拍照的小东东,可以实现会员头像的实时在线拍照更新。
首先来讲一讲原理:
1、将camera的内容显示在video中,这个不懂的参考actionscript的手册,里面有详细的讲解以及代码,
2、定义一下BitmapData对象,
m_pictureBitmapData = new BitmapData(DEFAULT_CAMERA_WIDTH,DEFAULT_CAMERA_HEIGHT);
然后将video的内容写进BitmapData对象里, m_pictureBitmapData.draw(video,new Matrix());
3、从左到右,从上到下,一个像素一个像素的读取BitmapData的rgb值,所有的rgb值用","分开,写进一个字符串里,
for(var i:int = 0; i < DEFAULT_CAMERA_WIDTH; i++)
                {
                    for(var j:int = 0; j < DEFAULT_CAMERA_HEIGHT; j++)
                    {
                        if(m_pictureData.length > 0)
                        {
                            m_pictureData += "," + m_pictureBitmapData.getPixel(i,j).toString();
                        }
                        else
                        {
                            m_pictureData = m_pictureBitmapData.getPixel(i,j).toString();
                        }
                    }
                }
                service.getOperation("createjpeg").send(pic_width,pic_height,m_pictureData);//用amfphp进行保存
4、在服务端就把那些rgb值提取出来,一个像素一个像素的画点:
$img=imagecreatetruecolor($width,$height);
  $m_tempPics=explode(',',$bitmap_data);
   for ($i = 0; $i < $width; $i++)
            {
                for ($j = 0; $j < $height; $j++)
                {
                    $pic_argb =(int) $m_tempPics[$i * $height + $j];
                    imagesetpixel($img,$i,$j,$pic_argb);
                }
            }
        imagejpeg($img,"../../image/header/0.jpg");
        imagedestroy($img);
        return true;
5、详细的源码在附件里面,前面只是些重要提示代码。嗯,要懂得amfphp,还有flex。
还有什么不清楚的,
下面来看看 test.html文件
if ( hasProductInstall && !hasRequestedVersion ) {
 // MMdoctitle is the stored document.title value used by the installation process to close the window that started the process
 // This is necessary in order to close browser windows that are still utilizing the older version of the player after installation has completed
 // DO NOT MODIFY THE FOLLOWING FOUR LINES
 // Location visited after installation is complete if installation is required
 var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
 var MMredirectURL = window.location;
    document.title = document.title.slice(0, 47) + " - Flash Player Installation";
    var MMdoctitle = document.title;
 AC_FL_RunContent(
  "src", "playerProductInstall",
  "FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
  "width", "100%",
  "height", "100%",
  "align", "middle",
  "id", "hphoto",
  "quality", "high",
  "bgcolor", "#869ca7",
  "name", "hphoto",
  "allowScriptAccess","sameDomain",
  "type", "application/x-shockwave-flash",
  "pluginspage", "http://www.adobe.com/go/getflashplayer"
 );
} else if (hasRequestedVersion) {
 // if we've detected an acceptable version
 // embed the Flash Content SWF when all tests are passed
 AC_FL_RunContent(
   "src", "hphoto",
   "width", "100%",
   "height", "100%",
   "align", "middle",
   "id", "hphoto",
   "quality", "high",
   "bgcolor", "#869ca7",
   "name", "hphoto",
   "flashvars",'historyUrl=history.htm%3F&lconid=' + lc_id + '',
   "allowScriptAccess","sameDomain",
   "type", "application/x-shockwave-flash",
   "pluginspage", "http://www.adobe.com/go/getflashplayer"
 );
  } else {  // flash is too old or we can't detect the plugin
    var alternateContent = 'Alternate HTML content should be placed here. '
   + 'This content requires the Adobe Flash Player. '
    + '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>';
    document.write(alternateContent);  // insert non-flash content
  }
// -->
</script>
<noscript>
   <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
   id="hphoto" width="100%" height="100%"
   codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
   <param name="movie" value="hphoto.swf" />
   <param name="quality" value="high" />
   <param name="bgcolor" value="#869ca7" />
   <param name="allowScriptAccess" value="sameDomain" />
   <embed src="hphoto.swf" quality="high" bgcolor="#869ca7"
    width="100%" height="100%" name="hphoto" align="middle"
    play="true"
    loop="false"
    quality="high"
    allowScriptAccess="sameDomain"
    type="application/x-shockwave-flash"
    pluginspage="http://www.adobe.com/go/getflashplayer">
   </embed>
 </object>

时间: 2024-11-10 01:09:50

flex+php在线拍照一[51空间]的相关文章

flex+php在线拍照二

flex+php在线拍照 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%"  xmlns:ns1="*" backgroundGradientColors="

Javascript+PHP实现在线拍照功能

  我们在一些WEB应用中可能会遇到这样的情况,用户需要自己现场拍照并上传到会员系统.比如驾校采集指纹拍照流程.考试现场采集照片等.我们今天要讲的是如何使用javascript和PHP实现一个简单的在线拍照并上传的功能. 实现这个功能的前提是你的电脑设备上需要安装有摄像头设备,以及你的浏览器需要支持flash.   HTML   <!DOCTYPE HTML>  <html>  <head>  <meta charset="utf-8">

在线拍照,在线视频

在线拍照,在线视频 第一步:在库中建立一个视频元件,类型选择:视频(受 ActionScript 控制). 第二步:将视频元件拖到场景中,并调整尺寸到想要的大小.并起名为"my_video" 第三步:在时间轴中粘入下边的 code. 复制内容到剪贴板代码: var my_video:Video; my_video._x=100; my_video._y=40; var my_cam:Camera = Camera.get(); my_cam.setMode(180, 140, 10,

jQuery+PHP+Mysql在线拍照和在线浏览照片

本文用示例讲述了如何使用jQuery与PHP及Mysql结合,实现WEB版在线拍照.上传.显示浏览的功能,ajax交互技术贯穿本文始末,所以本文的读者要求具备相当熟悉jQuery及其插件使用和javscript相关知识,具备PHP和Mysql相关知识.     本文示例建立在本站helloweba.com两篇文章之上,一篇是用于在线拍照的:Javascript+PHP实现在线拍照功能,另一篇是用于浏览照片的:Fancybox丰富的弹出层效果.如果您对在线拍照和Fancybox不大了解,可以先参照

PHP+Javascript实现在线拍照功能实例_php技巧

本文实例讲述了PHP+Javascript实现在线拍照功能.分享给大家供大家参考.具体如下: 我们在一些WEB应用中可能会遇到这样的情况,用户需要自己现场拍照并上传到会员系统.比如驾校采集指纹拍照流程.考试现场采集照片等.我们今天要讲的是如何使用javascript和PHP实现一个简单的在线拍照并上传的功能. 实现这个功能的前提是你的电脑设备上需要安装有摄像头设备,以及你的浏览器需要支持flash <!DOCTYPE HTML> <html> <head> <me

java 在线拍照代码

java 在线拍照代码 在数码相机的普及(尤其是在电话手机),导致其价格下降就像他们的规模大幅缩水. 它现在越来越难找到,即使没有摄像头的手机,和机器人设备不可能例外.要访问相机 的硬件,你需要添加到您的照相机许可应用程序清单,如下所示: <uses-permission android:name="android.permission.CAMERA"/>   这授予访问相机服务.该相机类可以调整相机设置,拍照,摄像和处理流媒体预览.要 访问照相机服务,使用相机的静态类的o

asp.net在线拍照预览上传过程难题求解

问题描述 [如果能帮我点一思路,不胜感谢]问题是这样,我用flash做一个视频拍照的照片搞定了,但是在实现预览的是否纠结一个问题:拍完,好像就直接传服务器了能不能拍完存用户本地的,然后用户预览完,选中定义的,再把那一张定义的上传到服务器就好了.这样的如何实现?求大神指导? 解决方案 解决方案二:怎么人回答解决方案三:这个好像要会flex或者actionscript

php 保存flash在线拍照发送过照片

<?php //保存报像头上传的图片. define('SD_ROOT', dirname(__FILE__).'/'); @header("Expires: 0"); @header("Cache-Control: private, post-check=0, pre-check=0, max-age=0", FALSE); @header("Pragma: no-cache"); $pic_id = time(); //生成图片存放路径

又一个10亿美元的教训:看51.COM是如何倒掉的

中介交易 SEO诊断 淘宝客 云主机 技术大厅 51的创始人庞升东很多时候被自然和不自然被拿来与史玉柱相提并论,这不仅仅是因为史玉柱本身也是庞升东的投资人,更重要的是,庞升东和史玉柱都通晓人性,都如出一辙的利用人性所特有的偷窥和贪婪等诸多欲望来壮大自己,前者抓住泡与被泡,成就网上交友第一社区,后者让人民币玩家大行其道,有钱出钱,有力出力.都属于不和谐但不违规挣着争议钱的人. 但有一点必须承认的是,比起史玉柱的团队对史玉柱的不离不弃,庞升东的团队虽然也不乏忠心耿耿者,但流失率过高,振荡频率过快也是