我正在尝试在示例 Winforms 应用程序中绘制贝塞尔曲线。
我正在计算贝塞尔点,然后使用 DrawImage 在每个点上绘制自定义图像画笔进行绘画。
但是,我并没有完全得到我希望的结果——产生的曲线在它弯曲的点上并不平滑(注意 Y 坐标增加/减少了 1px):
以下是使用画笔工具在“photoshop”中快速绘制的“漂亮”曲线示例:
有谁知道如何实现这种“抗锯齿”?
我基本上是这样做的:
using(var g = Graphics.FromImage(bitmap))
{
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
//points - an array with calculated beziere curve points
//image - the "image brush" that is painted at each curve point
foreach (var p in points)
{
g.DrawImage(image, p);
g.Flush();
}
}
谢谢!