0
我有一塊產生一個隨機圖像的代碼,但我想解析圖像,使我得到這樣的,我可以寫一個文件:如何使用正確的x,y將畫布圖像數據轉換爲每像素文本值的數組?
[data],[data],[data]
[data],[data],[data]
凡左上角數據將是0,0像素的文本形式(假設0,0是左上角),因此上述數據將是2×3像素圖像,並且0,1數據將在正確的位置。
因此,基本上如果圖像是12x12像素,那麼文件將有12行,每個包含12個數據點(據我瞭解,每個像素有4個顏色/ alpha值)。
下面是創建圖像的循環,所以也許有一種方法在表單中提取上述這裏面的數據:
for(var i = 0, len = image.data.length; i < len; i += 4){
var x = Math.floor((i/4) % dstCanvas.width);
var y = Math.floor((i/4)/dstCanvas.width);
// since n is -1..1, add +1 and multiply with 127 to get 0..255
var n = (noise.turbulence(x/gridSize, y/gridSize, 0, dstCanvas.width) + 1) * 127;
image.data[i] = n;
image.data[i+1] = n;
image.data[i+2] = n;
image.data[i+3] = 255;
}
這是一個目前還不清楚,但對我來說,你試着做什麼:什麼格式應像素的字符串版本是是否用於介紹或轉移?生成的表格是實際的表格還是應該是文本?兩條數據線是否只有兩個版本(文本/數字)具有相同的像素,並且下一個圖像行應該在下面還是水平地繼續?請詳細說明。 – K3N
您說過:「左上角的數據將是0,0像素的文本形式(假設0,0是左上角),因此上述數據將是2x3像素圖像,並且0,1數據將是在正確的地方。「 - 什麼是「0,1數據」,此外,什麼是「正確的地方」,你怎麼知道 - 你如何計算它。和Ken一樣,你的問題對我來說還不清楚。 – enhzflep
@enhzflep對不起,我已經添加了一些粗體信息,應該清除一些東西... – BigOmega