我正在用自己的代码绘制贝塞尔曲线。基本上,我正在计算与 CGPath 连接的大量点。但即使线宽相同,我也无法达到与默认实现相同的质量。由于抗锯齿,笔触的边缘有点模糊。中风看起来不错,但我注意到在 Apple 渲染中,抗锯齿看起来不同;抗锯齿区域的宽度(像素既不是笔划的颜色,也不是背景的颜色)更小。
用 Instruments 稍微窥探一下,发现 UIBezierPath 的笔画在 libRIP 中花费了一些时间,但我找不到它到底是什么。
我正在用自己的代码绘制贝塞尔曲线。基本上,我正在计算与 CGPath 连接的大量点。但即使线宽相同,我也无法达到与默认实现相同的质量。由于抗锯齿,笔触的边缘有点模糊。中风看起来不错,但我注意到在 Apple 渲染中,抗锯齿看起来不同;抗锯齿区域的宽度(像素既不是笔划的颜色,也不是背景的颜色)更小。
用 Instruments 稍微窥探一下,发现 UIBezierPath 的笔画在 libRIP 中花费了一些时间,但我找不到它到底是什么。
我自己画了一个椭圆,使用 sin 和 cos 运算。我的椭圆看起来和原来的一样好。
我知道在绘制渐变时存在问题。你的情况是这样吗?
如果要绘制大量点,则可能会因为过度绘制而变得更暗的抗锯齿边缘。我在网上找不到一个好的图像来描述它,但是如果你从 A -> B 然后再从 A -> B 绘制,两条线可能会生成,比如说,30% 的灰色部分像素,然后将它们混合在一起,结果60% 灰色。
你可能不认为你正在这样做,但如果你有高密度的点,那么你可能会得到重叠的组件(特别是如果你正在绘制单独的线段,你的上限等会重叠)。
可能值得发布一些使用 Pixie 或 xScope 拍摄的示例代码和屏幕截图,以便我们了解发生了什么。