具有alpha的AS3 BitmapData CopyPixels

时间:2012-08-29 15:01:55

标签: actionscript-3 rendering bitmapdata

我试图将位图的像素复制到BitmapData,透明度可以说.5但是我似乎无法在谷歌或这里找到任何对此的引用!

我有我的标准复制像素代码

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

我可以看到我传递的第一个空值是一个标记为alphaBitmapData:BitmapData的BitmapData,所以我假设它与它有关,但我无法解决它!

任何帮助都会受到赞赏,干杯!

2 个答案:

答案 0 :(得分:4)

关注this link,您会找到有关变量的一些解释。

简而言之,当您将最后一个参数(mergeAlpha:Boolean)设置为true时,该函数将在复制像素时考虑第4个参数(alphaBitmap:BitmapData),有效地使用alphaBitmap的alpha来合并复制的像素。因此,您应该将用于第一个参数的相同位图传递给第4个参数,相应地设置第5个参数(alphaPoint:Point)并将最后一个参数设置为true。

答案 1 :(得分:1)

我已经接受了Will Kru的答案,因为下面的答案(虽然只是基于理论)是用于将方法置于疯狂之后的代码!!

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?