Рисование текста в растровом изображении с помощью TextRendererC#

Место общения программистов C#
Anonymous
Рисование текста в растровом изображении с помощью TextRenderer

Сообщение Anonymous »

Я пытаюсь нарисовать текст с помощью TextRenderer (поскольку это более удобно для использования Graphics.DrawString) в растровом изображении, однако это приводит к очень нежелательным последствиям. p>

Пример кода

Код: Выделить всё

using (Bitmap buffer = new Bitmap(this.ClientRectangle.Width, this.ClientRectangle.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb))
{
using (Graphics graphics = Graphics.FromImage(buffer))
{
// Produces the result below
graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
// Produces clean text, but I'd really like ClearType!
graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
TextRenderer.DrawText(graphics, "Hello World", this.Font, this.ClientRectangle, Color.Black);
}
e.Graphics.DrawImageUnscaled(buffer, this.ClientRectangle);
}
Результат

Изображение


Я не знаю, как это исправить... помогите!< /p>

Я НЕ хочу использовать Graphics.DrawString, поскольку мне нужен правильный рендеринг GDI (в отличие от GDI+).

ПРИМЕЧАНИЕ: Я только что понял, что оставил зияющую дыру в этом вопросе. Некоторые люди отмечают, что рендеринг текста ClearType на их машинах работает нормально...

Я пытаюсь преобразовать текст в прозрачное (Color.Transparent) растровое изображение. . Если я сделаю это сплошным цветом, все будет отлично! (но обязательно выполнять рендеринг в прозрачное растровое изображение).

Подробнее здесь: https://stackoverflow.com/questions/188 ... xtrenderer

Вернуться в «C#»