我需要獲取畫布中透明/不透明像素的比例。做這個的最好方式是什麼?HTML5獲取畫布中alpha像素的數量
UPDATE: 基於下面的帖子中,我結束了寫這個代碼:
function getNumberOfAlphaPixels(can) {
var step = 200; //We skip 200 pixels to make it work faster
var ctx = can.getContext('2d');
var imgd = ctx.getImageData(0, 0, can.width, can.height);
var pix = imgd.data;
var alphaPixelsNum = 0;
for (var i = 0; i < pix.length; i += 4*step) {
if (pix[i+3] == 0) {
alphaPixelsNum += step;
}
}
return alphaPixelsNum;
}
這比我的僞代碼快。最後一行是否指'alphaPixels'? – paislee 2012-02-01 19:07:43
@paislee - 是的,謝謝你發現 – andrewmu 2012-02-01 20:17:17