【问题标题】:get info about a CGpath, UIBezierPath?获取有关 CGpath、UIBezierPath 的信息?
【发布时间】:2011-06-29 02:30:08
【问题描述】:

我有一系列路径,大部分是直线,或者几乎是直线。 我想将它们分类为水平、垂直、对角线,以及它们的绘制方向(上-> 下、下-> 上、左-> 右、右-> 左等)。有些线条是 L 形的,我也想要这些信息。

如果我知道路径的端点,这可能可以完成,但我不知道如何提取该信息。此外,我需要的不仅仅是 L 形线,因为端点表示对角线。我查看了所有参考页面,但找不到那种信息。 所以,如果你知道这一点,或者以其他方式获取我正在寻找的信息......谢谢

【问题讨论】:

    标签: ios path cgpath uibezierpath


    【解决方案1】:

    访问底层结构的唯一方法是在其上使用CGPathApply 方法。您传递了一个 C 函数,该函数传递了贝塞尔路径中的每个元素 (CGPathElement)。您应该能够辨别该方法中的线条类型。

    使用CGPathApply 有一个good example。这不完全是您所需要的,但看起来是一个很好的起点。

    【讨论】:

    • 好的,这看起来很有希望。 CGPathApply 函数会自动访问 CGPathElement 数据吗?
    • CGPathApply 的参数之一是函数指针 (CGPathApplierFunction)。这需要您传递给CGPathApply 函数的info 和一个路径元素。 CGPathApply 函数为贝塞尔路径中的每个路径元素调用此函数。
    • 好的,我已经设置好了,谢谢!似乎正在工作。我在调试器中看到元素类型和点。不错。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    • 1970-01-01
    • 2013-12-22
    相关资源
    最近更新 更多