缩放和裁剪具有固定尺寸的图像

时间:2011-12-10 11:29:06

标签: actionscript-3 flex actionscript

我想要显示一个图像,它应该像这样转换:

例如,如果原始图像的大小为200x300像素,我希望它的宽度为150,然后相应地缩放高度。然后我想裁剪图像,以便结果的尺寸为150x150像素。

我尝试了几种方法,但还没弄明白该怎么做。

1 个答案:

答案 0 :(得分:3)

您可以通过将新宽度除以旧宽度来计算比例因子:

var scale : Number = 150 / myImage.width;
myImage.scaleX = myImage.scaleY = scale;

要裁剪,请在缩放的剪辑上使用mask,或者绘制到新的位图:

var myBitmapData : BitmapData = new BitmapData ( 150, 150 );
// use concatenated matrix of the image to scale the new bitmap data
var matrix : Matrix = myImage.transform.concatenatedMatrix; 
myBitmapData.draw ( myImage, matrix );

var myBitmap : Bitmap = new Bitmap ( myBitmapData );
addChild ( myBitmap );

根据图像的数量以及以后要用它们做什么,您应该始终测试两种性能可能性。