为字体禁用抗锯齿
问题描述:
我正在为iPhone编写复古类型的游戏,并且需要在屏幕上呈现像素样式字体。但是,当我在模拟器中运行它时,它看起来不错而且很锋利,但是当我在设备上运行它时看起来不错。有什么办法可以禁用字体的抗锯齿功能吗?我已经尝试过这样的:为字体禁用抗锯齿
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextSetShouldSmoothFonts(c, FALSE);
CGContextSetShouldAntialias(c, FALSE);
CGContextSetAllowsAntialiasing(c, FALSE);
答
想通了,当我旋转我的UIView绘制横向模式,我没有使用足够的数字PI(3.14159 vs 3.14159265),并修复它。 ^^
答
确保在层次结构中的意见和/或层领导下到你的文本正在制订地方与整体像素边界((10.0,20.0)等)对齐。这可能会导致绘制的文本模糊。我不认为它考虑到了Quartz绘图与半像素坐标对齐的事实(您需要在(10.5,20.5)处绘制以获得尖锐的特征,例如)。我不太确定在哪里可以解决这个问题,但是你可以尝试在-drawTextInRect:
中将point
移位X和Y的半个像素,看看是否清除了字体图。