2010-07-07 34 views
0

我已經選擇了一個8bpp位圖到CDC中,並使用:: TextOut()來繪製文本。字體質量爲ANTIALIASED_QUALITY,但文字以單色出現;沒有灰色像素&鋸齒狀邊緣。可以在Win32的8bpp位圖上繪製抗鋸齒文本嗎?

8bpp位圖是從24bpp位圖中提取的,該位圖上已經繪製了抗鋸齒文本,而且文本正常。 (兩種文本類型位於相同的位圖中。)

當然,我可以繪製24bpp並進行轉換,但這更復雜且速度更慢。 (後面的文本會改變,而且會重複多次。)是否可以將抗鋸齒文本直接轉換爲8bpp位圖?謝謝!

回答

0

不,抗鋸齒不適用於8-bpp。如果您需要更快的更新,請考慮使用OpenGL而不是通過GDI進行繪圖。使用OpenGL時,繪圖通常完全由圖形硬件完成,所以即使在32-bpp,繪圖通常也會比GDI做8-bpp更快。

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

2

不,GDI不會對調色位圖執行antialiased輸出,而這正是灰度位圖。