作者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
1F:→ osanaosana:不太懂,你是想要做逐渐出现的特效吧? 11/04 18:55
2F:→ osanaosana:可是这函式应该是会一次就画完... 11/04 18:56
3F:→ iverson007:嗯嗯~我主要是想知道从中向外取得Pixel的方法 11/04 19:00
4F:→ iverson007:只要知道方程式~逐渐出现我就可以自行完成或做其他变化 11/04 19:00
5F:→ dsmwang:其实用mask会比较简单喔~ 11/04 19:30
6F:→ iverson007:因为我想要每个Rect都可以去控制~所以才想知道取得方法 11/04 19:58
7F:→ dsmwang:就等读完再从width的一半开始往外抓就好 11/04 20:06
8F:→ iverson007:嗯~要如何往外抓??? 11/04 20:10
10F:推 scars:但如果是要做出现特效 与其去getpixel不如动态绘制mask 11/04 20:34
11F:→ iverson007:谢谢分享flood-fill~不过我是打算规则的向外取得 11/04 20:46
12F:→ iverson007:因为我想要做的特效是每一个pixel都变动 11/04 20:47