在drawRect的我的NSView子类中,我会描边一些NSBezierPaths。我希望由于这些笔划而绘制的线条与完全相同,最好只有几个像素宽,无论视图的缩放比例如何。这是我的drawRect:
- (void)drawRect:(NSRect)dirtyRect
{
NSSize x = [self convertSize:NSMakeSize(1,1) fromView:nil];
printf("size = %f %f\n", x.width, x.height);
for(NSBezierPath *path in self.paths) {
[path setLineWidth:x.width];
[path stroke];
}
}
以下是我所看到的截图:
screenshot http://www.sonic.net/~crb/snapshot.png
任何人都可以建议我如何获得我正在寻找的清晰一致的路径大纲?
感谢。
答案 0 :(得分:1)
尝试匹配设备的确切像素。 (自iphone 5以来更难)
不要在半点使用坐标:如0.5(视网膜上的工作,但在“非视网膜上”,它们不清晰)。
线条宽度向左/向上移动一半,向右移动一半。
因此,如果你有一个2的lineWidth和整数值的coorinates它应该是锐利的。