有没有办法在键入某种颜色(如黑色)时叠加图像(jpeg)?那么图像中的所有纯黑色像素都是透明的?很像Photoshop中的“屏幕”混合模式?
我已经尝试查看画布上下文的globalCompositeOperation
属性,但似乎没有什么可行的。
谢谢!
答案 0 :(得分:0)
我认为你会想要研究直接像素操作。慢但如果速度不如获得好结果那么重要,那就去做吧。
for (y = 0; y < height; y++) {
inpos = y * width * 4; // *4 for 4 ints per pixel
outpos = inpos + w2 * 4
for (x = 0; x < w2; x++) {
g = imageData.data[inpos++] / 3;
a = imageData.data[inpos++];
if( g > someValue )
a = someNewAlpha;
imageData.data[outpos++] = a;
}
}
获取更多帮助,请参阅http://beej.us/blog/data/html5s-canvas-2-pixel/
在OpenGL中有很多方法,但我不确定它们是否适用于您的应用程序,而不知道它应该做什么。