我想要显示一个图像,它应该像这样转换:
例如,如果原始图像的大小为200x300像素,我希望它的宽度为150,然后相应地缩放高度。然后我想裁剪图像,以便结果的尺寸为150x150像素。
我尝试了几种方法,但还没弄明白该怎么做。
答案 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 );
根据图像的数量以及以后要用它们做什么,您应该始终测试两种性能可能性。