我正在尝试绘制一个具有相当精确圆角的形状,我会满足于3px左右的任何东西。不幸的是,Flash有其他想法,并且正在创建一个圆形矩形,其中有四个看似不同的半径。我的代码如下:
var sq:Shape = new Shape();
sq.graphics.beginFill(0x000000,1);
sq.graphics.drawRoundRect(20,20,20,20,4,4);
sq.graphics.endFill();
addChild(drop);
我删除了线条,因为显然填充渲染效果更好,并且变为偶数半径显然有帮助,但它仍然是相同的。上面的代码给了我一个像这样的正方形:
角落明显不同。如果我使用更大的半径可能不是一个问题,但由于角的半径小,方块看起来很奇怪。
我是否错过了drawRoundRectEvenly函数,还是我在这里要求太多了?任何帮助表示赞赏!谢谢!
的Darren
答案 0 :(得分:2)
尝试将pixelHinting设置为true。
sq.graphics.lineStyle(1, 0x000000, 1.0, true);
即使你没有使用笔划,也要尝试使用alpha 0,看看它是否有助于平滑一些事情。它很可能仍然不是完美的,但它应该更好地捕捉像素并且显着地清理。