Objective c iOS核心图形:使用CGContext设置器呈现清晰的pdf

Objective c iOS核心图形:使用CGContext设置器呈现清晰的pdf,objective-c,ios,pdf,core-graphics,Objective C,Ios,Pdf,Core Graphics,我正在使用ios中的cgpdf和CATILDELAYER开发一个pdf渲染器,除了某些字体之外,一切都很好,就好像矢量要靠近一样,我有一种模糊的感觉,好像我没有戴眼镜。我正在研究的解决方案,我很想得到一些帮助,就是将边缘附近的灰色像素变成黑色。我猜这在CGContextSet“Whatever”()方法中是可能的。这里有一张照片来说明 当前呈现为。。。 Adobe reader应用程序正在呈现为 而且看起来非常锋利,所以如果你知道它使用的方法(或者如何得到类似的方法),那么我会欣喜若狂

我正在使用ios中的cgpdf和CATILDELAYER开发一个pdf渲染器,除了某些字体之外,一切都很好,就好像矢量要靠近一样,我有一种模糊的感觉,好像我没有戴眼镜。我正在研究的解决方案,我很想得到一些帮助,就是将边缘附近的灰色像素变成黑色。我猜这在CGContextSet“Whatever”()方法中是可能的。这里有一张照片来说明


当前呈现为。。。


Adobe reader应用程序正在呈现为

而且看起来非常锋利,所以如果你知道它使用的方法(或者如何得到类似的方法),那么我会欣喜若狂


但我想做的是把所有的灰色像素变成黑色。类似于。。。



我再次使用cgcontextsetter方法并注意到了更改,但并非所有文档都清楚说明了每个方法的作用,因此对解决方案的任何解释或见解都是值得赞赏的。提前感谢。

看起来Adobe的渲染器正在将轮廓底部与整个像素对齐,但您的渲染器没有

Quartz Dev邮件列表(,)上的这两条消息建议您应尝试使用以下功能更改亚像素定位和亚像素量化的设置:

CGContextSetAllowsFontSubpixelPositioning
CGContextSetShouldSubpixelPositionFonts
CGContextSetAllowsFontSubpixelQuantization
CGContextSetShouldSubpixelQuantizeFonts
要么完全禁用亚像素定位,要么同时启用亚像素定位和亚像素量化。你必须进行实验


正如您所演示的那样,后期处理Quartz的渲染看起来不太可能很好。

谢谢,我偶然发现了这些方法,但目前还没有完全正确的方法。我会把那些帖子通读一遍,看看有没有效果。将更新结果。