gpt4 book ai didi

.net - Graphics.MeasureString 允许过多空白

转载 作者:行者123 更新时间:2023-12-01 00:02:43 29 4
gpt4 key购买 nike

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

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 来测量字符串的精确大小而没有任何边框?

最佳答案

StringFormat.GenericTypgraphic传递给MeasureString。我建议不要使用 TextRenderer,因为它在渲染到内存位图时存在清除类型问题。

使用 TextRenderer 进行测量,使用 DrawString 进行绘图,无疑迟早会让你陷入不一致的境地。

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

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com