gpt4 book ai didi

c# - 确定文本字符串中的行数?

转载 作者:太空狗 更新时间:2023-10-30 00:16:51 24 4
gpt4 key购买 nike

作为打印类的一部分,我希望能够在多页上打印长字符串,但我不知道如何计算整个字符串的高度,我将首先通过计算行数来确定在我的字符串中。我知道我可以计算换行符的数量,但我也在使用自动换行,所以只要一行超过页面宽度,就会添加换行符。所以我想我可以计算换行符的数量,计算出每行的宽度,并计算出每行是否需要自动换行,但这似乎是一个过于复杂的问题我想可以做得更简单。

e.Graphics.DrawString(multiPageString, new Font("Courier New", 12), Brushes.Black, new RectangleF(0, 0, 810, pageHeight));

如果您有任何建议,请告诉我,谢谢!

最佳答案

int iMaxWidth = 240; // Maximum width, in pixels
string sText = @"blah-blah-blah";
Font objFont = new Font("Times New Roman", 13, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point);
StringFormat sfFmt = new StringFormat(StringFormatFlags.LineLimit);
Graphics g = Graphics.FromImage(new Bitmap(1, 1));
int iHeight = (int)g.MeasureString(sText, objFont, iMaxWidth, sfFmt).Height;
int iOneLineHeight = (int)g.MeasureString("Z", objFont, iMaxWidth, sfFmt).Height;
int iNumLines = (int)(iHeight/iOneLineHeight);

关于c# - 确定文本字符串中的行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5019634/

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