1

画像に透明効果が適用されているかどうかをどのように把握できるのだろうか。JavaScript または HTML5 に方法はありますか? Base64 でコード化された画像があります。透明度情報 (アルファチャンネル) を読み取る方法はありますか? たとえば、PNG イメージを読み込んでから base64 に変換し、html5-canvas にドロップすると、透明効果が有効になっているかどうかを知るにはどうすればよいですか? どうもありがとう

4

1 に答える 1

0

「html5-canvas にドロップする」と言うとき、「data:」URI スキームで画像要素を使用することを意味していると思います。また、画像ファイルを解析するための JavaScript コードを書きたくない場合を考えてみましょう。

次の疑似コードのようなことができます。

create 2 off-screen canvases
color one opaque white and the other opaque black
draw the image on both of them
call getImageData on each canvas, using the image bounds
compare the image data

画像に透明または部分的に透明なピクセルがある場合、おそらく 2 つのキャンバスは少なくとも少し異なる結果になるでしょう。1 つの例外は、画像の透明度機能が有効になっているが、とにかく完全に不透明な場合です。もう 1 つは、不透明でないピクセルが非常にわずかに透明であり、白または黒の背景を変更するには不十分な場合です。ただし、この手法では、透明度が目立つ画像を捉えることができます。

于 2011-12-12T01:53:19.520 に答える