我有一个缩小的显示对象(不是图像)。它具有与缩放时图像相同的锯齿和锯齿边缘。有没有办法以与图像平滑相同的方式平滑显示对象?
更新
这是一个具有交互式子显示对象的交互式显示对象(精灵)。我无法将其绘制为位图。
答案 0 :(得分:5)
您可以尝试通过向其添加Matrix3D变换来将显示对象强制为“3d”模式。最简单的方法是简单地给它一个rotationX值:
myDisplayObject.rotationX = 0.0;
答案 1 :(得分:2)
您还可以尝试检查形状上的“提示”框(有时这会使得圆形和椭圆形状变得怪异,所以这是赌博),您可以尝试从渲染下拉列表中选择“缓存为位图”
答案 2 :(得分:2)
使用Pixel Blender对精灵进行双三次重采样?
http://blog.onthewings.net/2009/08/25/bicubic-resampling-by-pixel-bender/
答案 3 :(得分:1)
答案 4 :(得分:1)
您是否尝试过设置stage.quality = stageQuality.High;
?
此外,如果你这样做,并且你想手动设置平滑,你可以尝试Lanczos re-sampling function(我没有做到)。
警告:你不想每帧都使用这个功能,因为它性能很重!
首先,您需要使用BitmapData将displayObject绘制为Bitmap:
var bmd:BitmapData = new BitmapData(dispObject.width, dispObject.height, true, 0);
//Create new bitmapData with the same size as your object and with transparancy.
bmd.draw(dispObject);
//Draw you displayObject onto the empty Bitmap
var b:Bitmap = new Bitmap(bmd, true);
//Create the bitmap container and load the data, and the true turns smoothing on!
addChild(b);
//Add it to the stage and now you can use the scale and width variables like this
b.x = dispObject.x;
b.y = dispObject.y;
b.scaleX = dispObject.scaleX;
b.scaleY = dispObject.scaleY;