对于一个项目,我试图绘制Bézier曲线。现在,我创建了自己的BezierCurve
课程,通过forward differencing计算积分。我目前正在通过在每两个点之间绘制Line2D.Double
绘制曲线。这是我目前的输出;
上面的曲线(1)是我用BezierCurve
类绘制的曲线。下面的曲线(2)是向下移动并由GeneralPath
对象绘制的相同Bézier曲线(使用curveTo
方法)。
现在,我不禁注意到(2)看起来比(1)更顺畅我当然可以自己使用GeneralPath
(或CubicCurve2D.Double
),但这是一个项目那不是一个选择。
现在,我的问题是,我能做些什么来让曲线看起来更平滑吗?我尝试过简单地增加点数并使用fillRect(),但它们没有任何改进。
答案 0 :(得分:1)
您可以尝试设置抗锯齿:
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);