【问题标题】:How to anti-alias an image in Flex?如何在 Flex 中对图像进行抗锯齿处理?
【发布时间】:2023-03-20 06:28:01
【问题描述】:

我有一个带有背景图像的 Flex 组件。图像一开始很清晰,但每当我使用 scaleX 和 scaleY 缩放组件时就会出现锯齿状。如何使图像抗锯齿,使其缩放到 0.75,线条平滑,而不是锯齿状?

Here is the image

Here is the scaled version

And the unscaled (good) one

【问题讨论】:

    标签: apache-flex image antialiasing


    【解决方案1】:

    如果您使用 Image 组件加载图像,您可以将组件的内容属性转换为位图,然后将平滑设置为 true。不幸的是,图像组件没有开箱即用地提供此功能。但是,入侵相当容易。

    这是一个向您展示如何创建这样一个组件的教程: http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=2&postId=4001

    但是,如果这是使用组件的 backgroundImage 样式设置的,您可能会很不走运,除非您覆盖 updateDisplayList 并使用 Graphics.beginBitmapFill(提供平滑支持)自己执行位图的绘制。

    为什么在 Flex(以及随后的 Flash)中没有更好的图像平滑支持(例如不同的插值方法)让我大吃一惊。让我们自己实现这样的过滤器,至少像素弯曲过滤器会有所帮助。

    【讨论】:

    • 太棒了!现在我将做一些分层以摆脱背景图像。
    【解决方案2】:

    如果您的位图尺寸为 n^2 或 n^8,则 Flash 播放器将自动使用一种称为 mip-mapping 的技术,该技术将显着改善缩放位图图像的外观(和性能)。

    【讨论】:

      猜你喜欢
      • 2012-12-18
      • 1970-01-01
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      • 2013-10-03
      • 2015-01-29
      • 2018-08-10
      相关资源
      最近更新 更多