【问题标题】:AS3 resizing bitmapData loosing alpha channel after draw()AS3在draw()之后调整bitmapData的大小丢失了alpha通道
【发布时间】:2013-03-10 01:04:43
【问题描述】:

我正在使用矩阵以通常的方式调整位图数据的大小。 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);

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

【问题讨论】:

    标签: actionscript-3 bitmap image-resizing


    【解决方案1】:

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

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

    来自文档:

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

    【讨论】:

      猜你喜欢
      • 2021-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-20
      • 2011-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多