C# .NET WinForms图表:后期绘制中的模糊字体

C# .NET WinForms图表:后期绘制中的模糊字体,c#,.net,winforms,C#,.net,Winforms,我使用PostPaint事件Chart控件来修饰我的图表。和其他东西一起,我画自定义标签。对于绘图文本,我使用与Axis相同的字体,默认字体: Graphics g = e.ChartGraphics.Graphics; SizeF textSize = g.MeasureString(label, chart.ChartAreas[0].AxisX.LabelStyle.Font); g.DrawString(label, chart.ChartAreas[0].AxisX.Label

我使用PostPaint事件Chart控件来修饰我的图表。和其他东西一起,我画自定义标签。对于绘图文本,我使用与Axis相同的字体,默认字体:

Graphics g = e.ChartGraphics.Graphics;  
SizeF textSize = g.MeasureString(label, chart.ChartAreas[0].AxisX.LabelStyle.Font);  
g.DrawString(label, chart.ChartAreas[0].AxisX.LabelStyle.Font, System.Drawing.Brushes.Black, 
    new RectangleF(new PointF(location.X - textSize.Width / 2, location.Y), textSize), LabelFormat);   
但是,结果图表中生成的文本非常糟糕(标签100和200):


如何使自定义文本看起来像原始文本?

对于初学者,可以尝试在整个像素上对齐文本渲染(如果还不是这样,我不确定您在示例中使用的类型)。要进行快速测试,只需将新的PointF()参数强制转换为int:

/*...*/ new PointF((int)(location.X - textSize.Width / 2), (int)location.Y)