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

时间:2010-04-14 00:20:06

标签: objective-c cocoa

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

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

2 个答案:

答案 0 :(得分:10)

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

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

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

答案 1 :(得分:-1)

Apple使用图片作为标签元素。