【问题标题】:Adobe Flex image scaling qualityAdobe Flex 图像缩放质量
【发布时间】:2009-04-26 14:30:38
【问题描述】:

我有一个我在 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 中缩放的“质量”设置?

谢谢。

【问题讨论】:

    标签: apache-flex image scale


    【解决方案1】:

    【讨论】:

    • 修复了它。感谢您的回答!
    【解决方案2】:

    了解我几年前发现的Flash Smoothing Issue,并在博客中介绍过。基本上,具有奇数尺寸的图像无法平滑。

    要解决此问题,请使用以下 sn-p:

    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);
    

    【讨论】:

      【解决方案3】:

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

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

      这是关于scaling 图片的教程。

      【讨论】:

      • 感谢您的回复。我的图像控件不在列表控件中。它只是使用单独的列表控件作为对大小本身的引用。我阅读了您链接的教程,但它并没有真正谈论图像质量。我的基本问题是:缩小图像时如何控制质量?默认情况下,Flex 在缩小图像时似乎存在很多锯齿问题。谢谢。
      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

        将 scaleContent 属性设置为 true

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-11-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多