Сглаживание текста
Windows GDI+ предоставляет различные уровни качества для рисования текста. Как правило, более высокое качество отрисовки занимает больше времени обработки, чем более низкое качество отрисовки.
Уровень качества является свойством класса Graphics. Чтобы задать уровень качества, вызовите метод Graphics::SetTextRenderingHint объекта Graphics. Метод Graphics::SetTextRenderingHint получает один из элементов перечисления TextRenderingHint, объявленного в Gdiplusenums.h.
GDI+ обеспечивает традиционную защиту и новый вид защиты на основе технологии отображения Microsoft ClearType, доступной только в Windows XP и Windows Server 2003 и более поздних версиях Windows. Сглаживание ClearType улучшает удобочитаемость на цветных мониторах с цифровым интерфейсом, например мониторы на ноутбуках и высококачественных плоских настольных дисплеях. Удобочитаемость на экранах CRT также несколько улучшена.
ClearType зависит от ориентации и упорядочения полос LCD. В настоящее время ClearType реализуется только для вертикальных полос, упорядоченных RGB. Это может вызвать проблему, если вы используете планшетный компьютер, где дисплей может быть ориентирован в любом направлении, или если вы используете экран, который можно перевести из альбомного режима в портретный.
Следующий пример рисует текст с двумя разными параметрами качества:
FontFamily fontFamily(L"Times New Roman");
Font font(&fontFamily, 32, FontStyleRegular, UnitPixel);
SolidBrush solidBrush(Color(255, 0, 0, 255));
WCHAR string1[] = L"SingleBitPerPixel";
WCHAR string2[] = L"AntiAlias";
graphics.SetTextRenderingHint(TextRenderingHintSingleBitPerPixel);
graphics.DrawString(string1, -1, &font, PointF(10.0f, 10.0f), &solidBrush);
graphics.SetTextRenderingHint(TextRenderingHintAntiAlias);
graphics.DrawString(string2, -1, &font, PointF(10.0f, 60.0f), &solidBrush);
На следующем рисунке показаны выходные данные предыдущего кода.