我正在使用一个函数来调用要在一个区域内呈现的一段文本。
该功能的基本工作是:

Dim measureSize as Size
Do
    myFont = new Font(myFont.Name, myFont.Size - 1, FontStyle.Regular, GraphicsUnit.Document)
    'Initial font size is set insanely high for the moment, during testing.
    'Low initial font size is not the problem.
    measureSize = g.MeasureString(myString, myFont)
Loop until (measuredSize.width < desiredSize.width AND measuredSize.height < desiredSize.height)


问题在于,MeasureString在正在绘制的字符串周围添加了很多空白,并且最终的字体渲染得太小了。

我确定我记得有人可以摆弄一些参数以删除MeasureString方法中的所有填充,但是我的搜索目前没有任何作用。

有谁知道如何使用MeasureString来测量字符串的精确大小而没有任何边界?

最佳答案

有一个CodeProject的文章绕过此内容:http://www.codeproject.com/KB/GDI-plus/measurestring.aspx

关于.net - Graphics.MeasureString允许太多空白,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/798336/

10-11 02:42