我正在尝试绘制以下图像:
使用这个 Objective-C 代码:
CGContextSetFillColorWithColor(ctx, [[UIColor redColor] CGColor]);
CGContextMoveToPoint(ctx, position.X - (size.width / 2), position.Y - (size.height / 2));
CGContextAddLineToPoint(ctx, position.X - (size.width / 2), position.Y + (size.height / 2));
CGContextAddLineToPoint(ctx, position.X - (size.width / 4), position.Y + (size.height / 2));
CGContextAddArc(ctx, position.X, position.Y + (size.height / 2), (size.width / 4), -M_PI, M_PI, 0);
CGContextAddLineToPoint(ctx, position.X + (size.width / 2), position.Y + (size.height / 2));
CGContextAddLineToPoint(ctx, position.X + (size.width / 2), position.Y - (size.height / 2));
CGContextFillPath(ctx);
但是这不起作用。我得到这个图像:
图像的宽度为size.width,高度为size.height。
原点是(position.X,position.Y)
。该点位于中心,位于 (size.width/2, size.height/2)。
第一个点是左上角,第二个点是左下角。然后继续向右。
这里有一个更好的解释:
抱歉我的英语不好。
有什么建议吗?
最佳答案
我更改了这一行:
CGContextAddArc(ctx, position.X, position.Y + (size.height / 2), (size.width / 4), -M_PI, M_PI, 0);
具有以下内容:
CGContextAddArc(ctx, position.X, position.Y + (size.height / 2), (size.width / 4), -M_PI, 0, 0);
现在可以了!!!我对第二个角度有错误。正确的值是 0,而不是 M_PI
。
关于iphone - 使用 Quartz 2D 绘制桥梁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6403333/