logo
CSharp_Graphics

Многострочный вывод текста в прямоугольнике

Чтобы нарисовать текст с переносом по строкам внутри прямоугольника, можно воспользоваться перегруженным методом DrawString класса Graphics, который принимает параметр Rectangle или RectangleF. Также потребуется использовать объекты Brush и Font.

Чтобы нарисовать текст с переносом по строкам внутри прямоугольника, можно также воспользоваться перегруженным методом DrawText класса TextRenderer, который принимает параметр Rectangle и TextFormatFlags. Также потребуется использовать объекты Color и Font.

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

Рисование текста с переносом по словам в прямоугольнике с помощью GDI+

----------------

To draw wrapped text in a rectangle with GDI

string text2 = "Draw text in a rectangle by passing a RectF to the DrawString method.";

using (Font font2 = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point))

{

Rectangle rect2 = new Rectangle(30, 10, 100, 122);

// Specify the text is wrapped.

TextFormatFlags flags = TextFormatFlags.WordBreak;

TextRenderer.DrawText(e.Graphics, text2, font2, rect2, Color.Blue, flags);

e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rect2));

}

Compiling the Code

The previous examples require: