問題:下面的代碼會使Flash崩潰... 爲什麼?getPixel/32上的Flash/ActionScript3崩潰
所述的碰撞引起線似乎是
//變種的UIColor:UINT = bmpd.getPixel(I,J);
var uiColor:uint = bmpd.getPixel32(i,j);
trace(「Color:」+ uiColor);
我想拍攝一個動畫片段的快照並遍歷圖片中的所有像素並獲取像素的顏色。
import flash.display.BitmapData;
import flash.geom.*;
function takeSnapshot(mc:MovieClip):BitmapData
{
var sp:BitmapData = new BitmapData(mc.width, mc.height, true, 0x000000);
sp.draw(mc, new Matrix(), new ColorTransform(), "normal");
return sp;
}
var mcMyClip:MovieClip=new MovieClip()
var xxx:cMovieClipLoader=new cMovieClipLoader();
xxx.LoadImageAbsSize(mcMyClip,"http://localhost/flash/images/picture.gif", 500,500)
//this.addChild(mcMyClip);
function WhenImageIsLoaded()
{
var bmpd:BitmapData=takeSnapshot(mcMyClip);
var i,j:uint;
for(i=0; i < bmpd.width;++i)
{
for(j=0; j < bmpd.height;++j)
{
//var uiColor:uint = bmpd.getPixel(i,j);
var uiColor:uint = bmpd.getPixel32(i,j);
trace("Color: "+ uiColor);
}
}
var myBitmap:Bitmap = new Bitmap(bmpd);
this.addChild(myBitmap);
}
setTimeout(WhenImageIsLoaded,1000);
當你說「崩潰閃光燈」時,你的意思是什麼? – grapefrukt
只需在fla中運行代碼,它對我來說一切正常。我在Mac上運行CS4。看起來它更像是一個flash-ide /環境問題,而不是代碼問題。 –
是的,你的意思是一個Vista x64的問題。我已經放棄提交bug報告,我仍然需要做其他事情;-)) –