Как редактировать изображение в C# - PullRequest
0 голосов
/ 30 апреля 2020

Heey. Я хочу написать программу для системы отчетов. Я хочу показать результат в формате .jpg. У меня есть много переменных для имени, возраста, пола и т. Д. 1017 * и т. Д. 1018 * и т. Д. 1019 *.

Здесь возникает вопрос ..

Почему бы не сделать это в Word?

Я. Этот результат должен быть в формате .jpg, а не в формате .docx, потому что изображение будет размещено на веб-сайтах.

Как «поместить» переменные на изображение?

Вот пример того, что я хочу: http://prntscr.com/s8bgze

1 Ответ

0 голосов
/ 30 апреля 2020

Вы можете сделать это так:

// load your photo
var photo = new Bitmap("photo.jpg");
// create an image of the desired size
var bitmap = new Bitmap(200, 300);

using (var graphics = Graphics.FromImage(bitmap))
{
    // specify the desired quality of the render and text, if you wish
    //graphics.CompositingQuality = CompositingQuality.HighQuality;
    //graphics.TextRenderingHint = TextRenderingHint.AntiAlias;

    // set background color
    graphics.Clear(Color.White);
    // place photo on image in desired location
    graphics.DrawImageUnscaled(photo, 0, 0);

    using (var font = new Font("Arial", 12))
    {
        // draw some text on image
        graphics.DrawString("Name: X Y", font, Brushes.Black, 0, 200);
        graphics.DrawString("Age: 19", font, Brushes.Black, 0, 230);
        // etc
    }
}

// save image to file or stream
bitmap.Save("edited.phg", ImageFormat.Png);

Вместо Graphics.DrawString метод вы можете использовать TextRenderer.DrawText (они имеют небольшие различия в рисование текста).

Также не используйте формат jpg для изображений, содержащих текст. Вместо этого возьмите png.

...