我有一个带有蒙版位图的容器。这个容器的缩放和旋转在运行时会发生变化,我需要绘制蒙版位图,但无法计算出适当的矩阵计算来这样做。
我的代码可以正常工作以反映位置、比例、偏移,以便在不旋转的情况下进行居中。旋转时,角度正确但定位不正确-我相信是因为旋转矩形时尺寸会发生变化。
有人可以帮我弄清楚如何在定位中弥补这一点 - 这是一些代码:
// Adjust the transformation matrix to account for the position of the container
var tMatrix:Matrix = _imgContainer.transform.matrix;
//Offset for container
tMatrix.translate(this.x,this.y);
//Offset for bounds centering
tMatrix.translate(-_imgContainer.width/2,-_imgContainer.height/2);
// Compensate for rotation
// ????
var result_bitmap:BitmapData = new BitmapData(_maskedImg.width,_maskedImg.height,true,0x00FFFFFF);
result_bitmap.lock();
result_bitmap.draw(_maskedImg,tMatrix,null,null,null,true);
result_bitmap.unlock();
提前感谢您提供的任何帮助 -
b
编辑: 对不起,如果我没有正确解释这一点,让我再试一次以支持图像。我在一个容器中有一个蒙版位图,我将其用作绘制新位图的源。在捕获之前,用户可以在运行时缩放/旋转该容器。为了实现这一点,我将基于容器矩阵的变换矩阵传递给 draw 方法,并调整 tx 和 ty 值以考虑非零原点(由于居中)。到目前为止,它运行良好并符合我的预期。
然而 - 一旦这个容器被旋转,捕获的位置现在再次关闭 - 可能是由于尺寸变化,因此 tx/ty 偏移现在对于容器的新尺寸不正确。我只需要对此进行补偿,但无法弄清楚如何。
有没有人有转换矩阵的经验可以提供帮助?再次感谢您的努力!