如何使用Core Graphics和CALayer绘制更精确的线条

Bre*_*ret 2 cocoa objective-c

你好,我很难让这个UI元素看起来像我想要的那样(见截图).注意右边的图像 - 与左边的图像相比,线条宽度和黑暗看起来不一致(这恰好是来自safari的屏幕抓取),边框宽度更加一致.苹果如何让它们的线条如此完美?

我正在使用CALayer和Core Graphics API在右侧绘制图像.是否有可能用标准的apis画出如此完美的线条?

Rob*_*ger 10

绘制1像素路径的问题是Quartz从{0,0}开始在精确点网格上绘制路径.这意味着如果您使用1点宽度从{10,10}开始划线垂直路径,则该线的一半将在坐标左侧的像素中渲染,而在右侧像素中渲染一半,从而导致模糊影响.

因此,如果想要在精确像素上绘制线条,则应将绘图移动{0.5,0.5}.

你绝对可以用Quartz绘制你想要的东西.