0

次の問題の解決策はありますか?2つのソース画像があります。どちらも同じサイズで、どちらも32ビット/ピクセル(カラーコンポーネントあたり8ビット、アルファチャネル(透明度)情報用に8ビット)のARGBピクセルの単純なメモリアレイとして保存されます。

ケース1:これら2つの画像(アルファブレンディングを使用)を宛先画像に描画しています。私は最初に画像#1を描き、次に画像#2を描きます。

ケース2:私が今達成したいのはこれです:画像#1と画像#2を次々に目的の画像に描画する代わりに、画像の組み合わせである新しい一時的な画像、画像#3を作成したいと思います#1と画像#2。画像#3を宛先画像に描画すると、上記のケース1で実行した操作とまったく同じ結果が得られます。

それは可能ですか?つまり、画像#1と#2から中間画像を作成します。これは、宛先画像に描画されたときに、画像#1と#2が次々に宛先画像に描画された場合とまったく同じ結果になりますか?可能であれば、どのようなアルゴリズムが必要ですか?正確な複製が不可能な場合、この操作を概算する方法はありますか?

ありがとう

編集:これをもう少し明確にするために:私は、ディスプレイへのアルファブレンディングが非常に高価である特別なハードウェアセットアップのために開発しています。そのため、これをできるだけ少ない呼び出しにまとめたいと思います。ケース1では、アルファブレンディングを2回実行する必要があります。最初の画像#1がデスティネーションサーフェスにブレンドされ、次に画像#2がデスティネーションサーフェスにブレンドされます。私の特定のハードウェア設定では、これは非常に高価です。そのため、最初に中間画像#3を作成してから、画像#3を目的のサーフェスにブレンドしたいと思います。このように、私は高価なブレンディングルーチンを一度だけ呼び出す必要があります。ですから、私の質問は、画像#1と#2からこの画像#3を作成して、結果がまったく同じになるようにすることができるかどうかということです。

4

0 に答える 0