損失我使用LoaderMax加載外部PNG和許多地方一樣顯示出來,所以我用下面的代碼複製的圖像:AS3:複製一個PNG圖像引起的透明度
var cd:ContentDisplay = ContentDisplay(loader.getContent("name"));
var b1 = Bitmap(cd.rawContent);
var old = b1.bitmapData;
var bmp = new Bitmap(b1);
container.addChild(bmp);
原始圖像具有在alpha通道上爲50%,但是當我從同一個bitmapData對象創建新的位圖時,它不保留Alpha通道。
如果我嘗試複製alpha通道(請參閱下面的代碼;如果我理解正確,alpha通道從本身複製到本身) - 透明度在新圖像上,但代碼會引發錯誤。 ..
bmp.copyChannel(old, new Rectangle(0, 0, old.width, old.height), new Point(), BitmapDataChannel.ALPHA, BitmapDataChannel.ALPHA);
錯誤:
ReferenceError: Error #1069: Property copyChannel not found on flash.display.Bitmap and there is no default value.
at barmask/frame1()
我怎樣才能複製PNG和維護Alpha透明度...最好不出錯?
P.s.請原諒任何明顯的失誤,我是一個福利局的ActionScript ...
這沒有似乎工作。我用你推薦的構造函數創建了一個新的BitmapData,並且還必須將舊的圖像複製到新的圖像。這仍然沒有保留alpha通道。 –
以及源'BitmapData'的'transparent'屬性呢? – www0z0k
這是一篇關於使用BitmapData對象http://www.developria.com/2010/02/dealing-with-bitmapdata.html的文章。以下是一些成功使用draw()將alpha BitmapData複製到新位圖中的代碼http://flexdiary.blogspot.com/2009/12/riadventure-inspiration.html –