gpt4 book ai didi

ios - 使用 CGMutablePathRef 的缺点?

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

我有这个代码来绘制圆角矩形:

void ContextAddRoundedRect(CGContextRef ctx, CGRect rect, CGFloat radius) {
CGFloat minX = CGRectGetMinX(rect);
CGFloat maxX = CGRectGetMaxX(rect);
CGFloat minY = CGRectGetMinY(rect);
CGFloat maxY = CGRectGetMaxY(rect);

CGContextMoveToPoint(ctx, minX + radius, minY);
CGContextAddArcToPoint(ctx, maxX, minY, maxX, minY + radius, radius);
CGContextAddArcToPoint(ctx, maxX, maxY, maxX - radius, maxY, radius);
CGContextAddArcToPoint(ctx, minX, maxY, minX, maxY - radius, radius);
CGContextAddArcToPoint(ctx, minX, minY, minX + radius, minY, radius);
}

我要将其转换为使用 CGMutablePathRef对于绘图,因为那样我可以使用 -[UIBezierPath containsPoint:] (首先使用 +bezierPathWithCGPath:,如 the comments and answer here 中所述。)

使用 CGMutablePathRef 是否有任何严重/已知的缺点?而不是直接在 CGContext 上绘制? 我的猜测是它不是首发,但也许我错过了一些东西。

(我知道我必须释放它)

最佳答案

只需使用 +[UIBezierPath bezierPathWithRoundedRect:cornerRadius:] 省去所有的麻烦。如果您真的需要CGPathRef从它,然后得到 CGPath 属性(property)。

除非您每秒执行此操作数千次,否则它不太可能明显变慢或占用大量内存。

关于ios - 使用 CGMutablePathRef 的缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14299140/

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