是否可以在Win32中的8bpp位图上绘制抗锯齿文本?

时间:2010-07-07 20:15:51

标签: text bitmap antialiasing grayscale textout

我在CDC中选择了一个8bpp的位图,并使用:: TextOut()来绘制文本。字体质量为ANTIALIASED_QUALITY,但文字以单色显示;没有灰色像素&锯齿状的边缘。

8bpp位图是从24bpp位图中提取的,该位图已经在其上绘制了抗锯齿文本,并且文本正常。 (两种文本类型都在同一位图中。)

当然我可以在24bpp上进行转换,但这更复杂,更慢。 (后面的文本会更改,并会重复多次。)是否可以将抗锯齿文本直接转换为8bpp位图?谢谢!

2 个答案:

答案 0 :(得分:2)

不,GDI不会对调色板位图进行抗锯齿输出,而这正是灰度位图所在。

答案 1 :(得分:0)

不,抗锯齿不适用于8-bpp。如果您需要更快的更新,请考虑使用OpenGL而不是GDI进行绘图。使用OpenGL,绘图通常完全由图形硬件完成,因此即使在32-bpp,绘图通常也会比GDI更快地执行8-bpp。

值得注意的是,在任何情况下,使用32-bpp可能比8-b-bpp更好。 GDI可以使用(某些)硬件加速,但它通常最好使用32-bpp。