2011-11-07 77 views
0

我想将透明度应用于不透明的徽标,然后将其添加到图像中。 因此,我更改了徽标的alpha,然后在图像上绘制()徽标。 但它不起作用,透明度不按预期应用。Actionscript 3-在位图上使用透明度绘制()

注意:我稍后将生成的bitmapData保存到一个文件中,因此addChild()将不足以解决此问题。

var image:Bitmap; 
var logo:Bitmap; 
//... 
logo.alpha = 0.3; 
image.bitmapData.draw(logo); 

回答

2

试试这个:

var adjustAlpha:ColorTransform = new ColorTransform(); 
adjustAlpha.alphaMultiplier = 0.3 
var logoArea:Rectangle = new Rectangle(0, 0, logo.width, logo.height); 
logo.bitmapData.colorTransform(logoArea, adjustAlpha); 
image.bitmapData.draw(logo); 

当你修改它的实际的BitmapData,这样,当你画它,你还在复制未被修改的数据中发现的你是不是修改位图的Alpha值位图数据。

上面的代码使用colorTransform属性来调整bitmapData中的每个像素,您可以通过更改矩形的大小来定位特定区域。

(您还需要导入ColorTransform类)。

+0

它的工作原理。谢谢。 –