C# 如何关闭Graphics.DrawString执行的布局矩形内的文本填充?

C# 如何关闭Graphics.DrawString执行的布局矩形内的文本填充?,c#,.net,vb.net,layout,drawstring,C#,.net,Vb.net,Layout,Drawstring,当我用Graphics.DrawString编写一个字符串,传递一个StringFormat对象(携带StringAlignment.Near)和一个布局矩形时,文本从矩形边缘右侧的一些像素开始。这种填充和所用字体的大小有关,所以无法通过编程方式对齐以不同大小编写的字符串 是否有办法避免这种情况,并在相对于布局矩形的X=0处立即开始文本?您可以使用GenericTypographic解决此问题: ... g.DrawString("Hi", font, Brushes.Black, 0, 0,

当我用Graphics.DrawString编写一个字符串,传递一个StringFormat对象(携带StringAlignment.Near)和一个布局矩形时,文本从矩形边缘右侧的一些像素开始。这种填充和所用字体的大小有关,所以无法通过编程方式对齐以不同大小编写的字符串


是否有办法避免这种情况,并在相对于布局矩形的X=0处立即开始文本?

您可以使用GenericTypographic解决此问题:

...
g.DrawString("Hi", font, Brushes.Black, 0, 0, StringFormat.GenericTypographic);
...

张贴您已有的代码,这会有所帮助。
StringFormat.genericyprographic
不会减少填充框。如果您使用不同大小的字体多次运行代码,您将看到较大字体中的字符串比较小字体中的字符串从更右边开始书写。