Текст, добавленный к изображению, обрезается по краям - PullRequest
3 голосов
/ 06 марта 2020

Я пытаюсь добавить текст поверх изображения, и оно работает хорошо, если текст короткий. Однако, если я добавлю более длинный текст, он будет обрезан по краю.

Мне нужно, чтобы текст приходил на новую строку, если он слишком длинный.

Вот код, который у меня пока есть :

Graphics graphicImage = Graphics.FromImage(bitMapImage);

//Smooth graphics is nice.
graphicImage.SmoothingMode = SmoothingMode.AntiAlias;
Font font = new Font("Tahoma", 6);
int x_axis = 50;
int y_axis = 120;
int distance = 50;
graphicImage.DrawString("This is a very long text and this long text might come to a new line below", font, Brushes.Yellow, new PointF(x_axis, y_axis + distance * 2));

String tempFile = folder + "output.jpeg";
bitMapImage.Save(tempFile, ImageFormat.Jpeg);

А вот изображение, которое оно создает Image with text overlay

Как мне сделать перенос текста?

1 Ответ

3 голосов
/ 06 марта 2020

Нарисуйте текст в прямоугольнике, и он обернется:

string text1 = "Draw `enter code here`text in a rectangle by passing a RectF to the DrawString method.";
using (Font font1 = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point))
{
    RectangleF rectF1 = new RectangleF(30, 10, 100, 122);
    e.Graphics.DrawString(text1, font1, Brushes.Blue, rectF1);
    e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rectF1));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...