昨天用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>
flex+php在线拍照一[51空间]
时间: 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的创始人庞升东很多时候被自然和不自然被拿来与史玉柱相提并论,这不仅仅是因为史玉柱本身也是庞升东的投资人,更重要的是,庞升东和史玉柱都通晓人性,都如出一辙的利用人性所特有的偷窥和贪婪等诸多欲望来壮大自己,前者抓住泡与被泡,成就网上交友第一社区,后者让人民币玩家大行其道,有钱出钱,有力出力.都属于不和谐但不违规挣着争议钱的人. 但有一点必须承认的是,比起史玉柱的团队对史玉柱的不离不弃,庞升东的团队虽然也不乏忠心耿耿者,但流失率过高,振荡频率过快也是