使用Bitmap位图之后,使用g.DrawString()绘制刻度值时,发现绘制内容会变粗,有点莫名其妙的
也是找了很久的原因,后来发现,只需要添加
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
即可解决
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
// 绘制X轴方向刻度线和刻度值
for (int i = -Width; i < Width; i++)
{
float x = centerX + i * unit;
int value = (int)(((x - centerX) / unit) * unit);
g.DrawLine(new Pen(Brushes.Black, lineWidth), new PointF(x, centerY - 5 * lineWidth), new PointF(x, centerY));
g.DrawString(value.ToString(), new Font("Arial", 8 * lineWidth), Brushes.Black, new PointF(x - 10 * lineWidth, centerY + 10 * lineWidth));
}
// 绘制y轴方向刻度线和刻度值
for (int i = -Height; i <= Height; i++)
{
float y = centerY + i * unit;
int value = (int)(((centerY - y) / unit) * unit);
if (value != 0)
{
// 绘制刻度线和刻度值
g.DrawLine(new Pen(Brushes.Black, lineWidth), new PointF(centerX, y), new PointF(centerX + 5 * lineWidth, y));
g.DrawString(value.ToString(), new Font("Arial", 8 * lineWidth), Brushes.Black, new PointF(centerX - 30 * lineWidth, y - 5 * lineWidth));
}
}
附上最后成功的效果图