Можно ли нарисовать сглаженный текст на растровом изображении 8bpp в Win32? - PullRequest
0 голосов
/ 08 июля 2010

Я выбрал растровое изображение 8bpp в CDC и использовал :: TextOut () для рисования текста. Качество шрифта ANTIALIASED_QUALITY, но текст получается монохромным; нет серых пикселей и неровных краев.

Растровое изображение 8bpp было извлечено из растрового изображения 24bpp, на котором уже нарисован сглаженный текст, и этот текст в порядке. (Оба типа текста находятся в одном растровом изображении.)

Конечно, я мог бы рисовать на 24bpp и конвертировать, но это более сложно и медленно. (Более поздний текст изменяется и повторяется много раз.) Можно ли получить сглаженный текст непосредственно в растровое изображение 8bpp? Спасибо!

Ответы [ 2 ]

2 голосов
/ 08 июля 2010

Нет, GDI не делает сглаженный вывод для растрового изображения с палитрой, и это именно то, что такое растровое изображение в градациях серого.

0 голосов
/ 08 июля 2010

Нет, сглаживание не работает с 8-bpp. Если вам нужны более быстрые обновления, подумайте о том, чтобы рисовать с помощью чего-то вроде OpenGL вместо GDI. В OpenGL рисование обычно выполняется исключительно графическим оборудованием, поэтому даже при 32 битах в секунду рисование обычно будет быстрее, чем в GDI со скоростью 8 бит в секунду.

Стоит также отметить, что в любом случае вам, вероятно, будет лучше с 32-бпп, чем с 8- или 24-бпп. GDI может использовать (некоторое) аппаратное ускорение, но обычно оно лучше всего с 32 битами в секунду.

...