【发布时间】:2012-05-16 21:59:30
【问题描述】:
我在 javascript HTML5 画布中生成了一张图片。 我现在想说的是,某种颜色(比如红色)的所有px都变成了透明的
【问题讨论】:
-
你试过什么?这是一项非常简单的任务:循环遍历像素数组,并更改 alpha 通道。见developer.mozilla.org/En/HTML/Canvas/…
标签: html html5-canvas
我在 javascript HTML5 画布中生成了一张图片。 我现在想说的是,某种颜色(比如红色)的所有px都变成了透明的
【问题讨论】:
标签: html html5-canvas
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);
我没有测试代码,但它应该可以工作(如果没有,你有全局想法)
【讨论】: