如何在Flex中对图像进行反别名?

Aet*_*hex 1 apache-flex image antialiasing

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

这是图像

这是缩放版本

和未缩放的(好)一个

Mar*_*ade 6

如果使用Image组件加载图像,则可以将组件的content属性强制转换为Bitmap,然后将平滑设置为true.不幸的是,图像组件不提供开箱即用的功能.然而,它很容易入侵.

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

但是,如果使用组件的backgroundImage样式设置它,那么除非您覆盖updateDisplayList并使用Graphics.beginBitmapFill(它提供平滑支持)自己绘制位图,否则您可能会失败.

为什么平滑图像在Flex(以及随后的Flash)中没有更好的支持(例如不同的插值方法)令人难以置信.至少像素弯曲滤波器会让我们自己实现这样的滤波器.