gpt4 book ai didi

c# - 在 C#/.NET 中,Graphics.MeasureString 方法给出了不正确的高度

转载 作者:行者123 更新时间:2023-11-30 22:15:25 24 4
gpt4 key购买 nike

当文本换行到固定宽度时,为什么 MeasureString 返回不正确的文本字符串高度?

var labelFont = new Font("Courier New", 11, FontStyle.Bold);
StringFormat format = StringFormat.GenericTypographic;
format.FormatFlags |= StringFormatFlags.MeasureTrailingSpaces;
var size = g.MeasureString("This is a very very very very very very very very very long string", labelFont, 300, format);

size.Height 给出了不正确的值。我发现我需要取返回高度的大约 1/3 才能得到类似于真实高度的任何值。

我正在尝试将文本字符串绘制到背景图像上;所以我需要知道换行文本的高度才能知道下一个文本字符串原点的 y 值。

此代码在 ASP.NET 网络应用程序中使用。

最佳答案

您的 MeasureString 调用为字符串指定了 300 的最大宽度。这意味着您的很长的字符串被分成多行,这会导致字符串的计算高度更高。

注意字符串的最大宽度不是以字符为单位,而是以像素为单位。

关于c# - 在 C#/.NET 中,Graphics.MeasureString 方法给出了不正确的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17952564/

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