??? 原來有幾個前輩貼過了一些關于這個技術的代碼,有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<imgShow._width;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.h;i++)
?{
?????sender["PX"+i]=_root.PX[i];
?}
?sender.send("send.php","_blank","POST");
}
??? 時間有限,今天先把代碼貼上,注釋回頭寫上來,見諒。。。程序測試地址:http://benmouse.521j.com