黒などの特定の色をキーアウトしながら、画像 (jpeg) をオーバーレイする方法はありますか? 画像内のすべての純粋な黒のピクセルが透明になるようにするには? Photoshop の「スクリーン」描画モードによく似ていますか?
キャンバス コンテキストのプロパティを調べてみましたが、うまくいかglobalCompositeOperation
ないようです。
ありがとう!
黒などの特定の色をキーアウトしながら、画像 (jpeg) をオーバーレイする方法はありますか? 画像内のすべての純粋な黒のピクセルが透明になるようにするには? Photoshop の「スクリーン」描画モードによく似ていますか?
キャンバス コンテキストのプロパティを調べてみましたが、うまくいかglobalCompositeOperation
ないようです。
ありがとう!
直接ピクセル操作を調べたいと思うでしょう。遅いですが、速度が良い結果を得ることほど重要でない場合は、実行してください。
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 には多くの方法がありますが、アプリケーションが何をすべきかわからないため、それらがアプリケーションに適用されるかどうかはわかりません。