Графика DrawString слово перенос

1

У меня есть такая модель изображения http://i.stack.imgur.com/ulLTS.jpg

Мне нужно напечатать текст в желтом поле.

Проблема заключается в том, как включить перенос слов в графику DrawString? Мой код:

    using (Graphics g = Graphics.FromImage(pictureBox1.Image))
    {
        Font drawFont = new Font("Arial", 16);
        SolidBrush drawBrush = new SolidBrush(Color.Black);
        g.DrawString("test text; test text;test text;test text", drawFont, drawBrush, new Point(240, 250));
    }
    pictureBox1.Image.Save("Image.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

текст, который я распечатываю

  • 1
    Я почти уверен, что есть перегрузка DrawString которая принимает Rectangle это DrawString текст к этой границе
  • 0
    Помогает, если вы немного обдумаете это, но, конечно, ничего не обернете, если не скажете, насколько широким может быть текст. Используйте Graphics.DrawString () только на устройствах / изображениях с высоким разрешением, обычно вы должны использовать TextRenderer.DrawText () и TextFormatFlags.WordBreak.
Показать ещё 1 комментарий
Теги:

1 ответ

1
Лучший ответ

Метод DrawString имеет перегрузку, в которой вы можете перейти в ограничивающий прямоугольник, в который должен входить текст.

Ваш код должен выглядеть примерно так:

       g.DrawString("test text; test text;test text;test text", drawFont, drawBrush, new RectangleF(240f, 250f, endPointX, endPointY));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню