作者iverson007 (...)
看板Flash
標題[問題]請教從中心向外擴散式讀取bitmapdata點陣的方法
時間Thu Nov 4 17:36:18 2010
各位好:
我主要的目的是想將一張圖片出現的順序從中間的pixel擴散到外面的pixel
簡單以圖來表示:
http://img295.imageshack.us/i/getpixel.jpg/
即是第一次抓到黑色(即為中心)的點(1點),第二次紅色(8點),第三次藍色(16點)
依此類推,一直到bitmap size的最大範圍
我也放上我目前寫的
但是順序只是最一般的從左上到右下的順序讀取
http://220.135.49.88/iverson/openTest3.swf
source:
var path:String = "img/flower01.jpg";
var req:URLRequest = new URLRequest(path);
var loader:Loader = new Loader();
loader.load(req);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loaded);
var bitmapData:BitmapData;
function loaded(evt:Event):void {
bitmapData = new BitmapData(loader.width,loader.height);
bitmapData.draw( loader );
for (var i=0; i<loader.width; i+=20) {
for (var j=0; j<loader.height; j+=20) {
var child:Shape = new Shape();
child.graphics.beginFill(bitmapData.getPixel(i, j));
child.graphics.lineStyle(1, bitmapData.getPixel(i, j));
child.graphics.drawRect(i, j, Math.random ()*70, Math.random ()*70);
child.graphics.endFill();
child.alpha = 0.5;
addChild(child);
}
}
}
希望有人可以幫我解答
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.40.101
→ osanaosana:不太懂,你是想要做逐漸出現的特效吧? 11/04 18:55
→ osanaosana:可是這函式應該是會一次就畫完... 11/04 18:56
→ iverson007:嗯嗯~我主要是想知道從中向外取得Pixel的方法 11/04 19:00
→ iverson007:只要知道方程式~逐漸出現我就可以自行完成或做其他變化 11/04 19:00
→ dsmwang:其實用mask會比較簡單喔~ 11/04 19:30
→ iverson007:因為我想要每個Rect都可以去控制~所以才想知道取得方法 11/04 19:58
→ dsmwang:就等讀完再從width的一半開始往外抓就好 11/04 20:06
→ iverson007:嗯~要如何往外抓??? 11/04 20:10
推 scars:但如果是要做出現特效 與其去getpixel不如動態繪製mask 11/04 20:34
→ iverson007:謝謝分享flood-fill~不過我是打算規則的向外取得 11/04 20:46
→ iverson007:因為我想要做的特效是每一個pixel都變動 11/04 20:47