2010-01-06 114 views
0

我需要找到一種方法來複制掩蓋的位圖。我在舞臺上有一個位圖,並且用戶繪製了一個用作掩碼的精靈。我需要捕獲/複製蒙版區域位圖,保持由蒙版創建的透明度,最終編碼爲png。如何複製在動作腳本中保持遮罩透明度的遮罩位圖?

我找不到有關如何使用copyPixels()或任何其他方向完成此操作的文檔。

預先感謝任何幫助 -

b

+0

你怎麼掩蓋? mask屬性還是blendMode? – spender 2010-01-06 23:46:21

回答

1

我做了一個簡單的測試,似乎工作:

var square:Sprite = new Sprite(); 
var circle:Sprite = new Sprite(); 
var holder:Sprite = new Sprite(); 

square.graphics.beginFill(0,.5); 
square.graphics.drawRect(0,0,100,100); 
square.graphics.endFill(); 

circle.graphics.beginFill(0); 
circle.graphics.drawCircle(0,0,50); 
circle.graphics.endFill(); 

addChild(holder); 
holder.addChild(square); 
holder.addChild(circle); 
square.mask = circle; 

var cloneData:BitmapData = new BitmapData(holder.width,holder.height,true,0x00FFFFFF); 
cloneData.draw(holder); 
var clone:Bitmap = new Bitmap(cloneData); 
addChild(clone); 
clone.x = 30; 

我創建一個BitmapData和使用draw()方法做一個克隆。 關鍵的事情似乎是BitmapData構造函數中的最後兩個參數。 後我通過holder.width和holder.height,我指定我想要的位圖數據是透明(真),並有填充˚FULL透明白色(至0x00FFFFFF)ARGB(阿爾法 - 紅 - 綠 - 藍色)

希望這會有所幫助:)

+0

感謝您的幫助,我在短時間內退出了另一個項目,但如果我以這種方式工作,將回到接受狀態... – WillyCornbread 2010-01-15 14:06:20

+0

ARGB信息特別有用,並且允許我解決我的問題。再次感謝您的幫助! – WillyCornbread 2010-01-20 01:19:11

+0

很高興我能幫忙^ _ ^ – 2010-01-20 01:47:30