2
我在绘制一个像素宽线时遇到了问题。所有线条都是完全水平或垂直的(我没有绘制对角线),但它们不能清晰地画出。它看起来像是在缩小的alpha处绘制两个像素。毫无疑问,由于抗锯齿。我搜索了文档和论坛,并且遇到了一个声明,说“有一个像素宽的水平和垂直线没有问题...”,但我不知道具体如何。任何指针都会受到欢迎。如何在Quartz中绘制一个像素宽的水平和垂直线?
绘图代码很简单:
else if ([[value entity].name isEqualToString:@"RTLine"]) {
CGContextSetRGBStrokeColor(ctx, 0, 0, 0, 1);
CGContextSetLineWidth(ctx, [[value valueForKey:@"thickness"] doubleValue]);
CGContextMoveToPoint(ctx, [[value valueForKey:@"beginDrawLocationX"] doubleValue],
[[value valueForKey:@"beginDrawLocationY"] doubleValue]);
CGContextAddLineToPoint(ctx, [[value valueForKey:@"endDrawLocationX"] doubleValue],
[[value valueForKey:@"endDrawLocationY"] doubleValue]);
CGContextStrokePath(ctx);
}
在上文中,“厚度”是等于1。我用的doubleValue代替的floatValue转换从在壳体浮动INT被狗拉雪橇的值的东西不太1 - 事实并非如此。
+1自我回答很好。您也可以“接受”您自己的答案,将此问题标记为已回答。 – msw 2010-10-12 13:49:10