我正在为iPhone编写一个复古型游戏,需要在屏幕上渲染像素样式字体。但是,当我在模拟器中运行它时,它看起来很漂亮,但是当我在设备上运行它时,它看起来不那么好。有什么办法可以禁用字体的抗锯齿功能吗?我已经尝试过了:
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextSetShouldSmoothFonts(c, FALSE);
CGContextSetShouldAntialias(c, FALSE);
CGContextSetAllowsAntialiasing(c, FALSE);
中的字体渲染类
答案 0 :(得分:4)
想出来,当我旋转我的UIView以横向模式绘制时,我没有使用足够数字的PI(3.14159 vs 3.14159265),并修复了它。 ^^
答案 1 :(得分:1)
确保层次结构中的视图和/或图层与文本的绘制位置对齐,以与整数像素边界((10.0,20.0)等对齐)。这可能会导致绘制文本模糊。
另外,看看FontLabel的代码,我不认为考虑到Quartz绘图与半像素坐标对齐的事实(你需要绘制(10.5,20.5)来获得锐利的特征,因为例)。我不太确定在哪里纠正这个问题,但您可以尝试将point
中的-drawTextInRect:
移动X和Y中的半个像素,看看是否会清除字体图。