gpt4 book ai didi

objective-c - 贝塞尔路径带圆角矩形 : -- odd rendering artefact

转载 作者:行者123 更新时间:2023-12-03 17:49:01 25 4
gpt4 key购买 nike

我正在绘制一个带有几个圆角的简单矩形:

UIBezierPath * p = [UIBezierPath bezierPathWithRoundedRect:outline
byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight
cornerRadii:CGSizeMake(8, 8)];

奇怪的是,左上角似乎不完整 - 缺少一个小凹口:

Image that shows the flaw in the top left hand corner

奇怪的是 - 如果添加 [p close] - 这个问题就会消失。现在文档表明:

This method creates a closed subpath, proceeding in a clockwise direction (relative to the default coordinate system) as it creates the necessary line and curve segments.

所以我想知道哪里出了问题?我是否误解了文档 - 或者我的代码中是否存在微妙的错误/问题?

为了完整起见,有问题的代码是

- (void)drawRect:(CGRect)rect {
CGRect outline = CGRectInset(self.bounds, 4, 4);
UIBezierPath * p = [UIBezierPath bezierPathWithRoundedRect:outline
byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight
cornerRadii:CGSizeMake(8, 8)];
// [p closePath];
[[UIColor blackColor] setStroke];
[p setLineWidth:4];
[p stroke];
....

最佳答案

看起来最终的路径实际上并没有闭合,这可能是一个错误(如果是的话,值(value)filing)——基本上,因为它不知道起点和终点是连接的,所以你看到的是终点大写(by default 仅绘制到路径的确切末端)而不是连续的线。听起来您的 -close 解决方案有效;就这样吧。

关于objective-c - 贝塞尔路径带圆角矩形 : -- odd rendering artefact,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33395328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com