1

我正在使用矩阵以通常的方式调整 bitmapData 的大小。bitmapData 有一个 alpha 通道(它来自 PNG),并且 alpha 通道被忽略...

var m:Matrix = new Matrix();
m.scale(.5, .5);

var bmp:BitmapData = new BitmapData(bitmapData.width * .5, bitmapData.height * .5,true);
bmp.draw(bitmapData,m);

var resizedBitmap = new Bitmap(bmp);

我已将第三个参数 true 添加到 BitmapData() 构造函数以支持 alpha 通道,但在 draw() 调用之后我仍然失去了所有透明度。怎么了?

4

1 回答 1

4

解决这个问题的方法是在 BitmapData 构造函数中添加第四个参数(fillColor)。

var bmp:BitmapData = new BitmapData(bitmapData.width * .5, bitmapData.height * .5,true,0x00000000);

从文档中:

要创建完全透明的位图,请将 transparent 参数的值设置为 true,并将 fillColor 参数的值设置为 0x00000000(或 0)。

于 2013-03-10T01:04:43.337 回答