Вывод DrawString по какой-то причине становится очень размытым.Я искал ту же резкость, что и меню Windows, см. Прикрепленное изображение в качестве ссылки.
Текст верхнего окна в генерируется следующим кодом:
Gdiplus::Graphics graphics(m_DeviceContextHandle);
Gdiplus::FontFamily nameFontFamily(L"Segoe UI");
Gdiplus::Font font(&nameFontFamily, 9);
Gdiplus::SolidBrush solidbrush(Gdiplus::Color(255, 0, 0, 0));
graphics.SetCompositingQuality(Gdiplus::CompositingQuality::CompositingQualityAssumeLinear);
graphics.SetSmoothingMode(Gdiplus::SmoothingMode::SmoothingModeHighQuality);
graphics.SetPixelOffsetMode(Gdiplus::PixelOffsetMode::PixelOffsetModeHighQuality);
graphics.SetTextRenderingHint(Gdiplus::TextRenderingHint::TextRenderingHintClearTypeGridFit);
graphics.DrawString(L"File Edit Format View Help", -1, &font, Gdiplus::PointF(10, 10), &solidbrush);
Есть идеи, как я могу повысить резкость текста?
Редактировать:
Вот результат, когда я рисую в растровом изображении вместо окна.Первый текст из растрового вывода, последний текст, когда я рисую в окне.
Код:
// Draw to bitmap.
Gdiplus::Bitmap b(100, 100);
Gdiplus::Graphics *g = Gdiplus::Graphics::FromImage(&b);
// Draw text.
// ...
// Save bitmap.
CLSID pngClsid;
CLSIDFromString(L"{557cf406-1a04-11d3-9a73-0000f81ef32e}", &pngClsid);
b.Save(L"C:\\my_path_here\\out.png", &pngClsid, NULL);
Есть идеи?Неправильные настройки моего окна?