В 10 плеере у БитмапДаты появился метод getVector, возвращающий Вектор с ARGB-значениями всех пикселей заданного прямоугольника битмапдаты. Например

Код AS3:
......
var tmpSh:Shape = new Shape();
tmpSh.graphics.beginFill(0xFF00FF, 1);
tmpSh.graphics.drawRect(5, 5, 20, 20);// drawPath(commands, data);
tmpSh.graphics.endFill();
var pixelValue:uint, pixelValueMask:uint, i:int = 0, j:int = 0;
var bmpdata:BitmapData = new BitmapData(tmpSh.width, tmpSh.height, false, 0xFF0000);
bmpdata.draw(tmpSh);
var pixels:Vector.<uint> = bmpdata.getVector(bmpdata.rect);
var palette:Vector.<uint> = pixels.sort(descSort).filter(uniqueSort);
trace( vectorColorsToString(palette, 6, "#") );
}
private function uniqueSort(item:uint, index:int, vector:Vector.<uint>):Boolean
{
if (index === 0) return true;
return (item !== vector[index - 1]);
}
private function descSort(x:uint, y:uint):Number
{
if (x < y) return 1;
if (x > y) return -1;
return 0;
}
private function vectorColorsToString(vector:Vector.<uint>, digits:uint = 6, prefix:String = "0x"):Vector.<String>
{
var colors:Vector.<String> = new Vector.<String>();
for (var i:uint = 0; i < vector.length; i++)
{
var color:String = vector[i].toString(16);
color = "00000000" + color;
color = color.substr(color.length - digits, digits);
colors.push(prefix + color);
}
return colors;
}