Adobe Flex图像缩放质量

时间:2009-04-26 14:30:39

标签: flex image scale

我有一个我在Flex中编写的图像查看器,它根据浏览器的大小缩放您当前正在查看的图像的大小。这就是标签的样子:

<mx:Image id="img"
    maintainAspectRatio="true"
    source="{horizontalList.selectedItem.image}-large.jpg"
    height="100%"
    horizontalCenter="0"
    horizontalAlign="center"
    top="5" 
    width="{horizontalList.width}"
    updateComplete="onImageChange()"
    click="onImgClick()"
    />

原始图像大小始终大于浏览器的区域,不幸的是,Flex似乎没有很好地缩小图像。事实上,如果我使用它的图像标签,IE中的HTML会做得更好。是否有一个“质量”设置用于Flex中的缩放我不知道?

感谢。

5 个答案:

答案 0 :(得分:8)

答案 1 :(得分:1)

了解几年前我发现的Flash Smoothing Issue,我在博客上发表了文章。基本上,具有奇数维度的图像无法平滑。

要解决此问题,请使用以下代码段:

var smoothBitmapData : BitmapData = new BitmapData(
    loadedBitmap.width + (loadedBitmap.width % 2),
    loadedBitmap.height + (loadedBitmap.height % 2),
    true, 0x00FF0000);
smoothBitmapData.draw(loadedBitmap, null, null, null, null, true);

smoothBitmap = new Bitmap(smoothBitmapData, PixelSnapping.NEVER, true);

答案 2 :(得分:0)

这是对Flex 3的一个麻烦 - 使用列表控件中的图像。你必须非常小心才能正确缩放。

为什么不尝试使用scaleContent控件的maintainAspectRatioImage属性的不同组合?

这是关于scaling图片的教程。

答案 3 :(得分:0)

尝试将控件的宽度和高度设置为图像的尺寸,并将scaleContent属性设置为true

答案 4 :(得分:0)

将scaleContent属性设置为true