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

Text 在Win32中是否可以在8bpp位图上绘制抗锯齿文本?,text,bitmap,antialiasing,grayscale,textout,Text,Bitmap,Antialiasing,Grayscale,Textout,我在CDC中选择了一个8bpp位图,并使用::TextOut()绘制文本。字体质量为抗锯齿质量,但文本为单色;没有灰色像素和锯齿状边缘 8bpp位图是从已经绘制了抗锯齿文本的24bpp位图中提取出来的,该文本没有问题。(两种文本类型位于同一位图中。) 当然,我可以利用24bpp进行转换,但这更复杂、更慢。(后面的文本会发生变化,并重复多次。)是否可以将抗锯齿文本直接放入8bpp位图中?谢谢 否,GDI不会将抗锯齿输出到调色板位图,而这正是灰度位图。否,抗锯齿不适用于8-bpp。如果需要更快的更新

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

8bpp位图是从已经绘制了抗锯齿文本的24bpp位图中提取出来的,该文本没有问题。(两种文本类型位于同一位图中。)


当然,我可以利用24bpp进行转换,但这更复杂、更慢。(后面的文本会发生变化,并重复多次。)是否可以将抗锯齿文本直接放入8bpp位图中?谢谢

否,GDI不会将抗锯齿输出到调色板位图,而这正是灰度位图。否,抗锯齿不适用于8-bpp。如果需要更快的更新,请考虑用OpenGL代替GDI来进行绘图。使用OpenGL,绘图通常完全由图形硬件完成,因此即使在32 bpp的情况下,绘图通常也比GDI完成8 bpp的速度要快

同样值得注意的是,在任何情况下,32个基点都比8或24个基点要好。GDI可以使用(一些)硬件加速,但通常在32 bpp时处于最佳状态