在绘制()后,AS3调整位图数据的大小,丢失alpha通道

时间:2013-03-10 01:04:43

标签: actionscript-3 bitmap image-resizing

我正在使用Matrix通常的方式调整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()调用之后我仍然失去了所有透明度。 怎么了?

1 个答案:

答案 0 :(得分:4)

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

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

来自文档:

  

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