问题标签 [uibezierpath]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
33095 浏览

ios - 如何绘制 UIBezierPaths

这是我想要做的:

我有一个 UIBezierPath,我想将它传递给一些方法来绘制它。或者简单地从创建它的方法中绘制它。

我不确定如何指示它应该在哪个视图中绘制。是否所有绘图方法都必须从

我可不可以做

如何从另一个方法调用此函数或方法?

0 投票
2 回答
961 浏览

ios - 比较2个贝塞尔路径?

我看到了函数 CGPathEqualToPath,我成功地使用它来比较来自 2 个 UIbezierPaths 的数据(从技术上讲,我比较了自己的路径)。

有没有办法修改这个函数来找出两条路径有多相似?或许可以设定一个阈值,好吧,这些路径足够接近,可以被认为是相同的?

(我使用的是 iOS)

也,无关。我有一个可变的贝塞尔路径数组。访问数组的特定元素的符号是什么?我是新手。谢谢

0 投票
1 回答
493 浏览

objective-c - 通过消除循环简化曲线

我试图找到可以通过删除路径中的“循环”来帮助我简化弯曲路径的代码。实际上,我不确定这些是否正确称为循环,并且没有正确的词可能会阻碍我的搜索。

因为 StackOverflow 不允许我包含插图(我太新了!),所以想象一下一个过山车,它的部分会让你上下颠倒。我想从过山车上去掉那些环,只留下一条起伏的道路。

我正在使用 UIBezierPath 路径在 iOS 中工作,但我很乐意使用几乎任何语言的示例指针,甚至只是指向描述此问题的正确方法的指针。另一种方法是检测与自身相交的路径的技术,因此如果存在“循环”,我可以将整个路径抛出。

谢谢!

0 投票
2 回答
3756 浏览

ios - 在 iOS 中绘制线条时的命中检测

我想允许用户以这样一种方式绘制曲线,即没有一条线可以穿过另一条线,甚至是它自己。绘制曲线是没有问题的,我什至发现我可以通过向前和向后跟踪线的节点然后关闭路径来创建一个封闭的并且仍然很像线的路径。

不幸的是,iOS 只提供了一个点是否包含在封闭路径中的测试(containsPoint: 和 CGPathContainsPoint)。不幸的是,用户可以很容易地将手指移动得足够快,以至于触摸点落在现有路径的两侧,而实际上并没有被该路径包含,因此测试触摸点毫无意义。

我找不到路径方法的任何“交叉点”。

关于如何完成此任务的任何其他想法?

0 投票
1 回答
4182 浏览

ios - 获取有关 CGpath、UIBezierPath 的信息?

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

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

0 投票
1 回答
347 浏览

ios - 如何重新调整贝塞尔路径

我有一个由 3 或 4 条 uibezierpath 线组成的简单图像。

当我将绘制它们的视图的大小加倍时,它们看起来很模糊,就像显示在高分辨率屏幕上的低分辨率图片一样,被拉长了。有没有办法在任何大小的窗口中重新调整 fir 的路径?谢谢,我知道这可能是一个基本问题,但我还没有找到任何有关它的信息

0 投票
2 回答
929 浏览

ios - 如何在uibezierpath周围获得缓冲区

我有一些uibezierpaths。作为路径,它们并没有真正的厚度。但是,我希望找到一种方法来定义路径周围的区域,例如这张图片中线条周围的灰色区域在此处输入图像描述

基本上,我想测试绘制的线条是否落在线条周围的缓冲区内。我认为这很简单,但事实证明它比我想象的要复杂得多。我可以使用 CGPathApply 函数来检查路径上的点,然后得到一个范围 + 或 - 每个点,但它比角度和曲线更复杂。有任何想法吗?

0 投票
2 回答
2025 浏览

iphone - 使用 elementCount 和 elementAtIndex 使 UIBezierPath 更像 NSBezierPath

在将一些 Cocoa 代码移动到 Cocoa Touch 时,我很失望地发现 UIBezierPath 缺少“访问路径元素”方法:

在 Cocoa Touch 中获取这些元素的唯一方法似乎是通过CGPathApply. 在我尝试将其重新创建为 UIBezierPath 的子类或类别之前,我想知道这是否已经完成。有没有人知道这样的东西是否已经可用?

0 投票
1 回答
3226 浏览

ios - iOS:从 UIBezierPath 创建图像剪切路径

我正在创建一个允许用户剪切图像的一部分的应用程序。为了做到这一点,他们将创建一堆 UIBezierPaths 来形成剪切路径。我目前的设置如下:

  • UIImageView 显示他们正在剪切的图像。
  • 在该 UIImageView 之上是 UIImageView 的自定义子类,它执行自定义 drawRect: 显示/更新用户正在添加的 UIBezierPaths 的方法。
  • 当用户单击“完成”按钮时,将创建一个新的 UIBezierPath 对象,该对象通过遍历存储在其中的数组并调用 appendPath: 来合并用户创建的所有单独路径。这个新的 UIBezierPath 然后关闭它的路径。

这就是我所得到的。我知道 UIBezierPath 有一个 addClip 方法,但我无法从文档中弄清楚如何使用它。

一般来说,我看到的所有裁剪示例都直接使用 Core Graphics 而不是 UIBezierPath 包装器。我意识到 UIBezierPath 有一个 CGPath 属性。那么我应该在剪辑时使用它而不是完整的 UIBezierPath 对象吗?

0 投票
2 回答
2053 浏览

iphone - iOS UIBezierAnimation curves, howto to create some sort of arc?

I'm pretty sure this is a rather simple and straightforward question for anyone that has ever tried this before , but i'm kind of a newbie to what you would call "advanced" animation.

I'm trying to create the following movement of an object by using CAKeyframeAnimation (with "position" key path)

http://www.sumopaint.com/files/images800/aeegfexznpohlehd.jpg

I've tried setting the path with a UIBezierPath but got confused and frustrated pretty fast with not finding the logic behind it :)

I'd love to hear if you have an opinion about this...

This is my base code (which might as well be written from scratch if a better idea would occur :P)

Also i wanted to fade out the object on completion. is there such a selector that performs on animation completion? (such as [UIView animateWithDuration] ) ?