如何在CGrect中制作清晰的形状边框?

时间:2017-02-01 13:25:26

标签: ios objective-c cgrect

我正在使用CGrect绘制带边框的圆圈,但我没有得到圆形的尖锐边框,这是我的代码:

 CGRect rect = CGRectMake(lastPoint1.x - CircleRadius ,lastPoint1.y - CircleRadius,CircleDia,CircleDia);
    CGContextSetFillColorWithColor(ctx, [Util_color getThemeColor].CGColor);
    CGContextFillEllipseInRect(ctx, rect);
    CGContextSetRGBStrokeColor(ctx, 255.0, 255.0, 255.0, 1.0);
    CGContextStrokeEllipseInRect(ctx, rect);
    CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
    CGContextSetLineWidth(ctx, 3.0);
     CGContextSetShouldAntialias(ctx, YES);
    CGContextSetLineCap(cox,kCGLineCapRound);

但我仍然会模糊边框!有没有办法使用CGrect获得清晰的边框?

2 个答案:

答案 0 :(得分:2)

您在像素之间进行绘制。请参阅此处获取解释和解决方法:http://orangejuiceliberationfront.com/are-your-rectangles-blurry-pale-and-have-rounded-corners/

(这是How to get a 1 pixel line with NSBezierPath?的副本,我最初写了这个解释)

答案 1 :(得分:0)

猜测OP的边界是什么意思是没有应用anti-aliasing的。

CGContextSetShouldAntialias(ctx, NO);