JavaScript HTML5キャンバスで生成された画像があります。特定の色(赤など)のすべてのピクセルがすべて透明になったと言いたい
質問する
160 次
1 に答える
1
var imgd = context.getImageData(0,0, canvas.widht, canvas.height);
var pix = imgd.data;
// Loop over each pixel and set alpha channel to 255 for every red pixel
for (var i = 0; n = pix.length, i < n; i += 4) {
if ( pix[i ] > 240 && pix[i+1 ] < 15 && pix[i+2] < 15 ) // it is kind of red
pix[i+3] = 255; // alpha channel
}
// Draw the ImageData object at the given (x,y) coordinates.
context.putImageData(imgd, 0,0);
私はコードをテストしませんでしたが、動作するはずです (動作しない場合は、グローバルなアイデアがあります)。
于 2012-05-16T13:59:30.450 に答える