Как генерировать изображение из текста на мухе во времени выполнения

Может любой вести, как генерировать изображение из входного текста. Изображение могло бы иметь любое расширение, не имеет значения.

62
задан Kazar 15 January 2010 в 09:26
поделиться

2 ответа

ОК, предполагая, что вы хотите нарисовать строку на изображении в C #, вам нужно будет использовать пространство имен System.drawing здесь:

private Image DrawText(String text, Font font, Color textColor, Color backColor)
{
    //first, create a dummy bitmap just to get a graphics object
    Image img = new Bitmap(1, 1);
    Graphics drawing = Graphics.FromImage(img);

    //measure the string to see how big the image needs to be
    SizeF textSize = drawing.MeasureString(text, font);

    //free up the dummy image and old graphics object
    img.Dispose();
    drawing.Dispose();

    //create a new image of the right size
    img = new Bitmap((int) textSize.Width, (int)textSize.Height);

    drawing = Graphics.FromImage(img);

    //paint the background
    drawing.Clear(backColor);

    //create a brush for the text
    Brush textBrush = new SolidBrush(textColor);

    drawing.DrawString(text, font, textBrush, 0, 0);

    drawing.Save();

    textBrush.Dispose();
    drawing.Dispose();

    return img;

}

Этот код будет измерять строку сначала, а затем создать изображение правильный размер.

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

153
ответ дан 24 November 2019 в 16:36
поделиться

Использование ImageMagick для рендеринга текста на изображениях (на сервере)

, поскольку вы находитесь в C #, вы также можете использовать классы .NET для растрового изображения и манипуляций для шрифтов напрямую (с такими классами, как: System.drawing.Bitmap и System.drawing.graphics )

3
ответ дан 24 November 2019 в 16:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: