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