1

ビットマップのピクセルを.5などの透明度でBitmapDataにコピーしようとしていますが、Googleまたはここのどこにもこれへの参照が見つからないようです!

標準のコピーピクセルコードがあります

_bitmapData.copyPixels(_bitmaps.vault[BitmapNames.BITMAPNAME], SCREENRECT, _drawPoint, null, null, true);

私が渡す最初のnull値はBitmapDataというラベルが付いalphaBitmapData:BitmapDataているので、それと関係があると思いますが、うまくいきません!

助けていただければ幸いです、乾杯!

4

2 に答える 2

4

このリンクをたどると、変数についての説明があります。

つまり、最後のパラメーター(mergeAlpha:Boolean)をtrueに設定すると、関数はピクセルをコピーするときに4番目のパラメーター(alphaBitmap:BitmapData)を考慮に入れ、alphaBitmapのアルファを効果的に使用してコピーされたピクセルをマージします。したがって、最初のパラメーターに使用するのと同じビットマップを4番目のパラメーターに渡し、それに応じて5番目のパラメーター(alphaPoint:Point)を設定し、最後のパラメーターをtrueに設定する必要があります。

于 2012-08-29T15:30:09.733 に答える
1

私はWillKruの答えを受け入れました(理論に基づいていますが)以下の答えは、メソッドを狂気の背後に置くために使用されるコードです!!

var alphaBitmap:BitmapData = new BitmapData(width, height, true, toARGB(0x000000, (.5 * 255)));

_bitmapData.copyPixels(_bitmaps.vault[BitmapNames.BITMAP], _drawRect, _drawPoint, alphaBitmap, null, true);

toARGB関数はここにありますalpha+RGB-> ARGB?

于 2012-08-29T15:51:00.100 に答える