alexsandr0000
@alexsandr0000
Программист C#/C++/C

Как в C# Graphics вычислить перенос строк?

Как определить как переносятся строки при отрисовке много строчного текста?
Текст отрисовывается:
var _numberLines = GetNumOfLines($"{_property.Текст}", (int)(PicBoxWidth - 6), _font);
var _offcet = _font.Height * _numberLines;
g.DrawString($"{_property.Текст}", _font, Brushes.Black, new RectangleF(5, 0, PicBoxWidth - 6, _offcet), new StringFormat(StringFormatFlags.LineLimit));

где число строк определяется:
private int GetNumOfLines(string multiPageString, int wrapWidth, Font fnt)
{
        var sfFmt = new StringFormat(StringFormatFlags.LineLimit);
        using(var g = Graphics.FromImage(New Bitmap(1, 1)))
       {
            var iHeight = g.MeasureString(multiPageString, fnt, wrapWidth, sfFmt).Height;
            var iOneLineHeight = g.MeasureString("Z", fnt, wrapWidth, sfFmt).Height;
            return (int)(iHeight / iOneLineHeight)
        }
}

Есть у кого мысли?
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Кнопка Екатеринбург
До 100 000 руб.
Payment Systems Москва
от 160 000 до 200 000 руб.
ЛАНИТ Москва
от 80 000 до 100 000 руб.