繁体   English   中英

Flex Mobile:如何为子画面/位图禁用比例平滑

[英]Flex mobile: How to disable scale smoothing for sprite/bitmap

在我的Flex移动项目中,我需要绘制带有几条线和矩形的精灵,然后旋转/缩放它,而不会使边缘平滑。 问题是-第一次绘制精灵时,没有进行平滑处理,但是一旦对其旋转/缩放,线条和矩形的边缘将变得平滑(或消除锯齿?)。 并且即使将旋转设置回0并将scaleX scaleY设置回1,它们也保持平滑。

我试着像这样将子画面转换为位图:

stage.quality=StageQuality.LOW; // for performance reasons
.......
var tempSprite:Sprite=new Sprite();
// draw stuff on tempSprite

var b:BitmapData = new BitmapData(w, h, true, 0x0);
b.draw(tempSprite,null,null,null,null,false); // smoothing=false
var bitmap:Bitmap = new Bitmap(b,"auto",false); // smoothing=false
bitmap.smoothing=false; 
myUIComponent.addChild(bitmap);

但这无济于事-仍然在旋转/缩放位图时对其进行了平滑处理。

所以,我的问题是:重置旋转和比例值时,是否可以完全禁用平滑效果,或者至少使精灵返回不平滑状态?

如果您将AIR用于移动设备并启用GPU模式,则将始终对位图进行平滑处理。 您真正能做的就是通过不缩放/旋转位图并确保绘制列表层次结构中的任何一个容器都不隐藏来隐藏平滑。 我遇到了与您类似的问题,而我唯一的解决方法就是重写我的显示比例缩放代码,因此我只能忍受模糊性,直到下一个项目为止。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM