Вот простая функция. Она инвертирует альфу на битмапе (параллельно заливая черным цветом). Фиша в том, что если просто брать цвет из битмапа и класть его тут же на место, это будет работать на 45% быстрее чем моя функция. Получается что половину времени занимает строка, в которой вычисляется "с". Можно её както соптимизировать для двоичных вычислений?
Или вообще как-то по другому инвертить альфу битмапа..

Код:
static public function invertAlpha(bmp:flash.display.BitmapData, min_alpha:Number, max_alpha:Number):Void {
var w:Number = bmp.width;
var h:Number = bmp.height;
var c:Number;
var coef:Number = -(max_alpha - min_alpha)/255;
for(var i:Number=0;i<w;i++) {
for(var j:Number=0;j<h;j++) {
c = (0xFF - (bmp.getPixel32(i, j)>>24)&0xFF) * coef + max_alpha;
bmp.setPixel32(i, j, c<<24);
}
}
}