我有一个我在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中的缩放我不知道?
感谢。
答案 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
控件的maintainAspectRatio
和Image
属性的不同组合?
这是关于scaling图片的教程。
答案 3 :(得分:0)
尝试将控件的宽度和高度设置为图像的尺寸,并将scaleContent属性设置为true
答案 4 :(得分:0)
将scaleContent属性设置为true