Search code examples
apache-flexbitmapdata

How to make transparent color in BitmapData in flex


I have a code like this:

var bitmapData:BitmapData = new BitmapData(width, height);
bitmapData.draw(this);
var ba:ByteArray = (new PNGEncoder()).encodeByteArray(bitmapData.getPixels(clipRect),width,height,true);

I want to make the white color in the generated PNG transparent. What is the best way to do so?


Solution

  • You were close :)

    You need to tell the bitmapData to be transparent, and then fill it with all transparent pixels.

    var bitmapData:BitmapData = new BitmapData(width, height, true, 0);
    

    (the 0 is shorthand for 0x00000000 which is a 32 bit ARGB color expressed as a uint)