
Код AS3:
//черная полоска будет под битмапом для теста прозрачности.
var testShape:Shape = new Shape();
testShape.graphics.beginFill(0x000000);
testShape.graphics.drawRect(30, 0, 20, 250)
addChild(testShape);
//рабочая битмапдата
var bmd:BitmapData = new BitmapData(80, 80, true, 0xFFCCCCCC);
var bm:Bitmap = new Bitmap(bmd);
addChild(bm);
//будущая карта прозрачности
var alphaMap:BitmapData = bmd.clone();
//матрица для управления градиентом
var matrix:Matrix = new Matrix();
matrix.createGradientBox(bmd.width, bmd.height, Math.PI / 2);
//векторный градиент для отрисовки в карту прозрачности
var gradient:Shape = new Shape();
gradient.graphics.beginGradientFill("linear", [0xFFFFFF, 0x000000], [1, 1], [0, 255], matrix);
gradient.graphics.drawRect(0, 0, bmd.width, bmd.height);
gradient.graphics.endFill();
// отрисовываем в карту
alphaMap.draw(gradient);
//копируем любой канал (т.к. все изменяются одинаково от 0 до 255) в альфаканал рабочей битмап
bmd.copyChannel(alphaMap, new Rectangle(0, 0, bmd.width, bmd.height), new Point(), 2, 8);