关于通过 Core-Plot 创建的 pdf 文件

About created a pdf file by Core-Plot

核心图很强大,我用它来制作心电图。 我创建pdf文件的时候遇到了一些问题

每个小格子在我的应用程序上都是正方形的。 但是当我使用 -dataForPDFRepresentationOfLayer() 写入 pdf 文件时,小网格不是正方形。 pdf 文件的 "minorGridLine" 位置错误。

我设置了绘图区域的像素尺寸和网格线的数量。 每个小网格在我的应用程序上都是正方形的,但小网格在 pdf 文件上不是正方形的。 如何解决这个问题呢?

谢谢, 迈达斯

您看到了将网格线与像素边界对齐以获得更清晰的线条边缘的效果。上图(屏幕截图)看起来像 1x 渲染,具有模糊的次要网格线和数据线上的抗锯齿。底部图像(PDF)具有清晰的线条边缘,意味着更高分辨率(2x 或 3x)绘图 canvas。当分辨率高到可以渲染整数像素的线宽时,Core Plot 将线移动到最近的像素边界上,以消除由抗锯齿引起的模糊边缘。

可能的解决方法是确保绘图区域的像素尺寸是次要刻度位置数量的偶数倍(占图形的contentsScale)或调整次要刻度的线宽网格线,所以不可能用整数像素来渲染它们。例如,使用 0.4 的线宽而不是 0.5。