При рендеринге текста в растровое изображение я считаю, что текст выглядит очень плохо, когда отображается поверх области с непрозрачной альфой. Проблема постепенно ухудшается, поскольку базовые пиксели становятся более прозрачными. Если бы я должен был догадаться, я бы сказал, что когда базовые пиксели прозрачны, текстовый рендеринг рисует любые сглаженные «серые» пиксели как сплошные черные.System.Drawing - плохой рендеринг текста с использованием DrawString поверх прозрачных пикселей
Вот несколько скриншотов:
Текст нарисованные поверх прозрачных пикселей:
Текст нарисованной на вершине полупрозрачных пикселей:
Текст рисуется на непрозрачных пикселей:
Вот код, который используется для отображения текста:
g.SmoothingMode = SmoothingMode.HighQuality;
g.DrawString("Press the spacebar", Font, Brushes.Black, textLeft, textTop);
Я считаю, что результат также будет зависеть от того, включен ли ClearType или нет. – AMissico
Похоже, вы не очищаете прозрачный фон (или, скорее, недействительны). – leppie
любое окончательное решение с полным исходным кодом? – Kiquenet