Чтобы перевернуть изображение вокруг центра, я использую этот фрагмент кода:
// Calculate offset
var offsetWidth:Number = image.contentWidth/2.0;
var offsetHeight:Number = image.contentHeight/2.0;
// Perform flip
var matrix:Matrix = new Matrix();
matrix.translate(-offsetWidth, -offsetHeight);
if(direction=="HORIZONTAL"){
matrix.scale(-1, 1);
}else if(direction=="VERTICAL"){
matrix.scale(1,-1)
}
matrix.translate(+offsetWidth, +offsetHeight);
matrix.concat(image.transform.matrix);
image.transform.matrix = matrix.clone();
, который работает нормально. Но моя проблема заключается в том, когда я пытаюсь получить BitmapData из изображения, как это:
var bitmapData:BitmapData = new BitmapData(image.width,image.height);
bitmapData.draw(image);
и использовать bitmapData в качестве источника для другого изображения, изображение не отображается. Отображается значок разбитого изображения .Кроме того, я вращаю изображение вокруг центра и использую аналогичный код, как указано ниже, и он работает нормально, и я могу скопировать растровые данные в другое изображение. Вот код для справки:
var matrix:Matrix = new Matrix();
matrix.rotate(Math.PI/2);
matrix.tx = img.content.height;
var bd:BitmapData = new BitmapData(img.content.height, img.content.width);
bd.draw(img.content, matrix);
Пожалуйста, помогите относительното же самое.