我有一個頁面,用戶可以在畫布上繪製並將圖像保存到服務器上的文件中。 畫布有默認的黑色背景。有沒有辦法檢查用戶是否在使用toDataURL()函數提交畫布圖像的數據URL表示之前在畫布上繪製任何東西?因此,如果用戶不在畫布上繪製任何東西(它將是黑色背景的空白畫布),則不會在服務器上創建圖像。我是否應該遍歷畫布的每個像素來確定這一點? 下面是我在做什麼目前:提交之前的畫布檢查
var currentPixels = context.getImageData(0, 0, 600, 400);
for (var y = 0; y < currentPixels.height; y += 1) {
for (var x = 0; x < currentPixels.width; x += 1) {
for (var c = 0; c < 3; c += 1) {
var i = (y*currentPixels.width + x)*4 + c;
if(currentPixels.data[i]!=0)
break;
}
}
}
什麼是用來讓用戶畫?它可能有某種可以閱讀的事件或財產。 如果沒有,只需從畫布上讀出數據並檢查每個像素以查找其顏色。 – 2010-05-26 20:23:00
有沒有其他的方法,而不是循環和檢查每個像素? – smokinguns 2010-05-26 20:30:00
這取決於。你用什麼庫讓用戶畫圖?畢竟,這不是一個內置功能。 – 2010-05-26 21:13:12