| FLASH大头贴技术实现 |
|
| 添加日期:2006-9-11 16:16:40 [大 中 小] |
|
原来有几个前辈贴过了一些关于这个技术的代码,有JAVA的,也有FLASH COM的。现在我把FLASH部分通过摄象头获得图象信息的代码贴出来。供大家参考。 这段代码是我参考了别人的代码自己写出来的。原来的那个网站里总共提供了两个类来实现这个问题。估计贴出来大多数人也会看的眼花缭乱不知所以(其实我也没太看明白)。所以按原来程序的思路自己重新写了一部分。大多数语句都写了注释。如果大家有什么不明白的,欢迎跟贴讨论 注意:本程序需要Video的支持。具体添加办法请搜索FLASH8帮助(这个东西是FLASH库本身自带的)
================程序代码================
/*FLASH大头贴原程序 /*程序编写:Benmouse 2005-12-01 import flash.display.BitmapData; //要应用这个对象。。必须要包含一下
myCrame=Camera.get(); //创建摄象头对象 myVideo.attachVideo(myCrame); //显示视频 var imger:BitmapData = new BitmapData(myVideo._width, myVideo._height, false); imgShow.attachBitmap(imger, this.getNextHighestDepth(), \"auto\", true); var thehang:Number=0; var ID:Number; var PX:Array=new Array(); btn1.onRelease=function() { imger.draw(myVideo); //imger是场景中一个空的组件,用来显示myVideo的图象 thehang=0; _root.ID=setInterval(makeImg, 5); } function makeImg() { var pix:Number; var pixer:String; PX[thehang]=new Array(); for(w=0;w { pix=imger.getPixel(w,thehang); pixer=pix.toString(16); if(pix == 0xFFFFFF) pixer = \"\"; // don’t send blank pixel PX[thehang].push(pixer); } thehang+=1; if(thehang>=imgShow._height) { clearInterval(_root.ID); imger.dispose(); sendVars(); } } function sendVars() { sender=new LoadVars(); sender.w=myVideo._width; sender.h=myVideo._height;
for(i=0;i { sender[\"PX\"+i]=_root.PX; } sender.send(\"send.php\",\"_blank\",\"POST\"); } |
|
| 出处:D5power Article 作者:D5power Article 点击: | |
|