gpt4 book ai didi

ios6 - 如何合并UIBezierPath工程图?

转载 作者:行者123 更新时间:2023-12-04 22:21:44 24 4
gpt4 key购买 nike

我正在尝试合并几个UIBezierPath图纸。

我可以制作不同类型的工程图(线,三次贝塞尔曲线,二次贝塞尔曲线),并且每个图可以填充或不填充。我随机选择工程图类型,我的目标是制作3个不同的工程图,这些工程图连接在一个点上。

因此,例如第一个线条画结束了,第二个路径(可能是立方贝塞尔曲线)开始了。在此结束的地方开始绘制第三个(可能是实线)绘图。

我有一个正方形的UIView试图在其中绘制,每个路径都应有其自己的UIView部分:第一个1/3,第二个和第三个。

是否可以使用一个UIBezierPath对象创建此对象,还是需要创建3个不同的对象?如何使它们在同一点结束并开始?有没有办法用子路径做到这一点?

最佳答案

UIBezierPath具有其实例方法,例如(DOC


-addLineToPoint:
-addArcWithCenter:radius:startAngle:endAngle:clockwise:
-addCurveToPoint:controlPoint1:controlPoint2:
-addQuadCurveToPoint:controlPoint:
-appendPath:


您可以将路径一一合并。完成后,使用-closePath关闭路径。

请随意查看我的名为UIBezierPath-Symbol的开源库。 ;)



而且,如果您想要更多的自定义路径图,我建议CGMutablePath。您可以根据需要创建每个路径(可以通过CGPathAdd...方法合并简单路径)。最后,使用CGPathAddPath()将它们组合在一起。

void CGPathAddPath (  
CGMutablePathRef path1, // The mutable path to change.
const CGAffineTransform *m, // A pointer to an affine transformation matrix, or NULL if no transformation is needed. If > specified, Quartz applies the transformation to path2 before it is added to path1.
CGPathRef path2 // The path to add.
);

关于ios6 - 如何合并UIBezierPath工程图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16493745/

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