Re: [問題] 從中心向外擴散讀取bitmapdata點陣
: 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);
: }
: }
: }
其實我看不太懂你寫的這些
只是猜width和height的寫法這樣
中心點是width/2,height/2
所以第一次要解析width/2,height/2那個點
第二次從中心點開始
解析width/2-1,height/2-1到width/2+1,height/2+1這九個點(包含一開始的那個)
也就是說變化量是width的一半,依次+1
我只寫for迴圈
for(i=0;i<=width/2;i++){ //變化量
for(j=width/2-i;j<=width/2+i;j++){ //橫向
for(k=height/2-i;k<=height+i;k++){
getpixel(j,k)
}
}
}
以上的前提是你的圖片是正方形的
--
▼▼ ◥▇◣◣
▲◢◣▲ \ ╲ ◢◣▲ ◥█████◣ 川澄 舞
▲/‘ d▄▄▄◣ — ▲/‘ ─ ◥██████▌ Kwawasumi Mai
▂▄▅▄■▄▄▄▄▄▆─ ▼ ノ▅■ ─── ▆██████
▇▆ ◢█▼ — ▇▆◢█▼ ── ◥██████ 力の覚醒.魔力放出
▲ ▲ ▼▼ ◥██◤██▄
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.74.150
推
11/04 20:41, , 1F
11/04 20:41, 1F
→
11/04 20:42, , 2F
11/04 20:42, 2F
width/2-2 width/2+2
width/2-1 width/2+1 ■■■■■ height/2-2
width/2 ■■■ height/2-1 ■ ■
■ height/2 ■ ■ ■ ■
■■■ height/2+1 ■ ■
■■■■■ height/2+2
由以上圖例可得知,方形範圍中最外圈的條件是 x或y其中一個值為最大或最小值(邊界)
因此加上if判斷式,其餘迴圈略過
for(i=0;i<width/2;i++){ //變化量
for(j=width/2-i;j<=width/2+i;j++){ //橫向
for(k=height/2-i;k<=height+i;k++){ //縱向
if(j==width/2+i or j==width/2-i or k==height/2+i or k==height/2-i){
getpixel(j,k)
}
}
}
}
※ 編輯: KawasumiMai 來自: 61.62.74.150 (11/04 21:20)
推
11/04 21:32, , 3F
11/04 21:32, 3F
→
11/04 21:40, , 4F
11/04 21:40, 4F
推
11/04 22:31, , 5F
11/04 22:31, 5F
→
11/04 22:31, , 6F
11/04 22:31, 6F
→
11/04 22:33, , 7F
11/04 22:33, 7F
推
11/04 22:39, , 8F
11/04 22:39, 8F
→
11/04 23:13, , 9F
11/04 23:13, 9F
推
11/04 23:15, , 10F
11/04 23:15, 10F
推
11/04 23:16, , 11F
11/04 23:16, 11F
→
11/04 23:31, , 12F
11/04 23:31, 12F
→
11/04 23:32, , 13F
11/04 23:32, 13F
推
11/04 23:49, , 14F
11/04 23:49, 14F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):