2010-03-11 71 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的半个像素,看看是否清除了字体图。