2010-03-11 102 views
2

我正在爲iPhone編寫復古類型的遊戲,並且需要在屏幕上呈現像素樣式字體。但是,當我在模擬器中運行它時,它看起來不錯而且很鋒利,但是當我在設備上運行它時看起來不錯。有什麼辦法可以禁用字體的抗鋸齒功能嗎?我已經嘗試過這樣的:爲字體禁用抗鋸齒

CGContextRef c = UIGraphicsGetCurrentContext(); 
CGContextSetShouldSmoothFonts(c, FALSE); 
CGContextSetShouldAntialias(c, FALSE); 
CGContextSetAllowsAntialiasing(c, FALSE); 

而且,我用從http://github.com/zynga/FontLabel/tree/master字體渲染類

回答

3

想通了,當我旋轉我的UIView繪製橫向模式,我沒有使用足夠的數字PI(3.14159 vs 3.14159265),並修復它。 ^^

1

確保在層次結構中的意見和/或層領導下到你的文本正在制訂地方與整體像素邊界((10.0,20.0)等)對齊。這可能會導致繪製的文本模糊。我不認爲它考慮到了Quartz繪圖與半像素座標對齊的事實(您需要在(10.5,20.5)處繪製以獲得尖銳的特徵,例如)。我不太確定在哪裏可以解決這個問題,但是你可以嘗試在-drawTextInRect:中將point移位X和Y的半個像素,看看是否清除了字體圖。