компоновка изображений на холсте html5

Есть ли способ наложить изображение (jpeg) при выделении определенного цвета, например черного? Чтобы все чисто черные пиксели на изображении были прозрачными? Похоже на режим наложения «экран» в Photoshop?

Я пытался изучить свойство globalCompositeOperation контекста холста, но, похоже, ничего не помогает.

Спасибо!


person ndmweb    schedule 30.08.2012    source источник


Ответы (1)


Я думаю, вы захотите изучить прямое манипулирование пикселями. Медленно, но если скорость не так важна, как получение хороших результатов, делайте это.

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 есть несколько способов, но я не уверен, что они применимы для вашего приложения, не зная, что оно должно делать.

person FlavorScape    schedule 30.08.2012