2012-08-30 53 views
0

有没有一种方法来覆盖图像(jpeg),同时键入某种颜色,如黑色?这样图像中所有纯黑色的像素都是透明的?很像Photoshop中的“屏幕”混合模式?html5画布图像合成

我试过寻找globalCompositeOperation属性的画布上下文,但似乎没有什么伎俩。

谢谢!

回答

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方式,但我不知道他们会申请您的应用程序,不知道什么是应该做的。