我在 CDC 中选择了一个 8bpp 位图,并使用 ::TextOut () 来绘制文本。字体质量为 ANTIALIASED_QUALITY,但文本以单色显示;没有灰色像素和锯齿状边缘。
8bpp 位图是从 24bpp 位图中提取的,该位图中已经绘制了抗锯齿文本,并且该文本是可以的。(两种文本类型都在同一个位图中。)
当然,我可以利用 24bpp 并转换,但这更复杂和更慢。(后面的文本会发生变化,并且会重复很多次。)是否可以将抗锯齿文本直接转换为 8bpp 位图?谢谢!
我在 CDC 中选择了一个 8bpp 位图,并使用 ::TextOut () 来绘制文本。字体质量为 ANTIALIASED_QUALITY,但文本以单色显示;没有灰色像素和锯齿状边缘。
8bpp 位图是从 24bpp 位图中提取的,该位图中已经绘制了抗锯齿文本,并且该文本是可以的。(两种文本类型都在同一个位图中。)
当然,我可以利用 24bpp 并转换,但这更复杂和更慢。(后面的文本会发生变化,并且会重复很多次。)是否可以将抗锯齿文本直接转换为 8bpp 位图?谢谢!
不,GDI 不会对调色位图进行抗锯齿输出,而这正是灰度位图。
不,抗锯齿不适用于 8-bpp。如果您需要更快的更新,请考虑使用 OpenGL 而不是通过 GDI 进行绘图。使用 OpenGL,绘图通常完全由图形硬件完成,因此即使在 32-bpp 下,绘图通常也比使用 8-bpp 的 GDI 更快。
还值得注意的是,在任何情况下,使用 32-bpp 可能比使用 8-或 24-bpp 更好。GDI 可以使用(某些)硬件加速,但它通常在 32-bpp 时处于最佳状态。