我需要使用C#在Windows窗体中创建一些简单的图形.简单来说,我的意思是线条,圆圈等.但是,当我绘制例如一个实心圆圈时,边缘不平滑(正如使用正方形像素绘制圆形时所预期的那样),但是当绘制具有相同像素数的相同圆圈时矢量程序它看起来很完美.我在这个例子中一直在使用Inkscape.
也许矢量软件使用某种渲染功能来平滑颜色,但这可能在C#中没有创建太多代码吗?以下是代码示例,Graphics用于创建要绘制的画布.
private void StatGraphicsPanel_Paint(object sender, PaintEventArgs e)
{
Graphics canvas = e.Graphics;
Brush brush = Brushes.Aqua;
canvas.FillEllipse(brush, 0, 0, 10, 10);
}
Run Code Online (Sandbox Code Playgroud)
解决方案 此代码可以解决问题:
private void StatGraphicsPanel_Paint(object sender, PaintEventArgs e)
{
Graphics canvas = e.Graphics;
canvas.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
Brush brush = Brushes.Aqua;
canvas.FillEllipse(brush, 0, 0, 10, 10);
}
Run Code Online (Sandbox Code Playgroud)