Можно ли рисовать сглаженный текст на растровой карте 8BPP в Win32?
-
02-10-2019 - |
Вопрос
Я выбрал растровое изображение 8BPP в CDC, и использовал :: TextOUT (), чтобы нарисовать текст. Качество шрифта является антициациацией_quality, но текст выходит в монохромный; Нет серых пикселей и зубчатых краев.
Bitmap 8BPP был извлечен из растрового изображения на 24BPP, который уже имел оттянутый на него антициальный текст, и этот текст в порядке. (Оба типа текста находятся в одном битовом карте.)
Конечно, я мог бы нарисовать на 24bpp и конвертировать, но это сложнее и медленно. (Последние текстовые изменения, и повторяется много раз.) Можно ли получить антициальный текст непосредственно в растровое изображение 8BPP? Спасибо!
Решение
Нет, против псевдонима не работает с 8-BPP. Если вам нужны более быстрые обновления, подумайте о том, чтобы сделать свой рисунок с чем-то вроде OpenGL, а не через GDI. С OpenGL чертеж обычно будет выполнен полностью по графическому аппаратному обеспечению, поэтому даже на 32-BPP, рисунок обычно будет быстрее, чем GDI, выполняющий 8-BPP.
Также стоит отметить, что вы, вероятно, лучше сотрясели с 32-BPP, чем в любом случае либо 8- или 24 BPP. GDI может использовать (некоторые) аппаратное ускорение, но это обычно в лучшем виде с 32-BPP.
Другие советы
Нет, GDI не делает выходной выходной на палицированное растровое изображение, и это именно то, что такое растровое изображение в середине серого.