0

3 つの BitmapData オブジェクトがあり、すべてアルファ チャネルがあります。

bitmapData 1 と 2 の RGB コンテンツは同じですが、アルファ チャネルが異なります。

bitmapData1.rgb == bitmapData2.rgb
bitmapData1.a != bitmapData2.a

bitmapData 3 には、まったく異なるデータがあります。

私が達成したいのは次のとおりです。

targetBitmapData.rgb = bitmapData1.rgb;
targetBitmapData.a = bitmapData1.a * bitmapData3.a + bitmapData2.a*(1-bitmapData3.a);

だから、bitmapData 3のアルファチャンネルに基づいてbitmapData 1と2のアルファチャンネルをブレンドしたい

これを行うには、すべてのピクセルを反復処理する必要がありますか、またはより高速な方法がありますか? copyPixels を試してみましたが、望ましい結果が得られませんでした。

4

1 に答える 1

1

drawを使用した複数の操作でこれを達成できるはずですBlendMode。反復よりも効率的にするには、あまりにも多くの操作が必要になる場合があります。

ピクセルを繰り返し処理することになった (そして iOS を対象としていない) 場合は、PixelBenderを検討してください。

于 2012-05-06T13:32:08.227 に答える