2011-11-07 68 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

它的工作原理。謝謝。 –