Я заполнил форму круга данными растрового изображения растрового актива.
Мне нужно повернуть круг от центра, поэтому я добавил растровое изображение в центр круга и использовал матричное преобразование, чтобы сместить растровые данные вверх и влево, чтобы они выглядели по центру.
Теперь я пытаюсь прочитать данные растрового изображения с помощью getPixel()
, но возвращаемое значение выключено, поскольку оно возвращает нетрансформированную позицию данных растрового изображения вместо видимых преобразованных растровых данных.
Bitmap(Sprite(evt.currentTarget).getChildAt(0)).bitmapData.getPixel(evt.localX, evt.localY)
как я могу получить точное считывание данных пикселей из растрового изображения с преобразованием матрицы?
обновлено кодом. предположим, что redCircleData в моем примере более красочный и заслуживает получения данных пикселей.
var redCircleData:Sprite = new Sprite();
redCircleData.graphics.beginFill(0xFF0000, 1.0);
redCircleData.graphics.drawCircle(0, 0, 100);
redCircleData.graphics.endFill();
var matrix:Matrix = new Matrix();
matrix.tx = redCircleData.width / 2;
matrix.ty = redCircleData.height / 2;
var myBitmapData:BitmapData = new BitmapData(redCircleData.width, redCircleData.height, true, 0x00FFFFFF);
myBitmapData.draw(redCircleData, matrix);
var theBitmap:Bitmap = new Bitmap(myBitmapData, PixelSnapping.AUTO, true);
theBitmap.x -= matrix.tx;
theBitmap.y -= matrix.ty;
addChild(theBitmap);