cgpath相关内容

在 iOS 中撤消/重做绘图

我正在开发一个绘图应用程序,我想做撤消/重做,为此我将触摸结束时的 CGPath 保存到 NSMutableArray,但我不明白如何在单击撤消按钮时呈现 CGPaths 编辑1: 由于我使用的是 BezierPaths,所以,我首先决定采用一种简单的方法,即在不使用 CGPath 的情况下抚摸这条路径, EDIT2:由于我的撤消是在分段中进行的(即,部分而不是整个路径被删除), ..
发布时间:2022-01-23 10:32:56 移动开发

cocos2d中没有正确检测到CGPath

通过帮助和建议,我为我的精灵创建了一条路径,以便只能触摸不透明的部分.这是我想出的路径: path = CGPathCreateMutable();CGPathMoveToPoint(路径, NULL, endTouch.x, endTouch.y);CGPathAddLineToPoint(路径, NULL, 0, 250);CGPathAddLineToPoint(路径, NULL, 30 ..
发布时间:2022-01-21 17:20:19 移动开发

在 Spritekit 中用两种颜色绘制矩形/圆形和三角形...

我可以使用简单的 SKSpriteNode 绘制矩形.但我无法在其中绘制其他类型的图纸,例如具有两种分色的三角形、圆形等.有人建议使用 CGPath.但我是新手,不知道画这种复杂的东西.请任何人都可以用 SPRITEKIT 中的 MULTICOLOR 说明使用这些图纸的简单方法.表示它们的上部是一种颜色,下部是第二种颜色.更简洁地说,Shape分为两种颜色,无论是星形、矩形、三角形还是其他颜色.任 ..
发布时间:2022-01-11 12:07:49 其他开发

1. CGPathMoveToPoint' 不可用:使用 move(to:transform:) 2. 'CGPathAddLineToPoint' 不可用:使用 addLine(to:transform:)

我在 Xcode 7.3.1 中的 swift 2 中创建了我的应用程序之一.但是现在我在 Xcode 8.0 中打开了相同的应用程序并执行更改.完成了一些自动更改,并显示了一些错误和建议,我已更正它们.但我面临的问题是 let path = CGMutablePath()CGPathMoveToPoint(path, nil, lineFrame.midX, lineFrame.midY)CG ..
发布时间:2022-01-01 11:16:46 移动开发

在哪里以及如何 __bridge

我需要一些关于 __bridge 在 iOS 中的建议. 希望下面的 SSCCE1 能比我用文字更好地解释这个问题,但我需要知道如何转换 void* 到 NSMutableArray*;应该使用哪个 __bridge 变体(请参阅代码中的注释). 阅读不同的桥接器后,我推断我需要 __bridge_transfer 但随后我在 addObject: 上收到 EXC_BAD_ACCES ..
发布时间:2021-12-24 17:08:03 移动开发

用百万点画一条线的有效方法

我正在 Cocoa 中编写一个具有多种缩放选项的音频波形编辑器.在最宽的范围内,它显示了整首歌曲的波形(可查看约 1000 万个样本).在最窄处,它显示了声波的像素精确表示(视图中大约有 1000 个样本).我希望能够在这些缩放级别之间平滑过渡.一些像 Ableton Live 这样的商业编辑器似乎以一种非常便宜的方式来做到这一点. 我当前的实现满足我想要的缩放范围,但效率低下且断断续续.该 ..
发布时间:2021-12-20 23:57:10 其他开发

如何动画 UIBezierPath

我想将矩形的 UIBezierPath 动画化为三角形,而不是为路径上的视图设置动画,而是为路径本身设置动画,使其从一种形状变形为另一种形状.路径被添加到 CALayer CAShapeLayer *maskLayer = [CAShapeLayer 图层];maskLayer.fillColor = [[UIColor whiteColor] CGColor];maskLayer.path = ..
发布时间:2021-11-10 05:34:36 移动开发

从 UIBezierPath 获取所有点(不仅是控制点)

我定义了一个 UIBezierPath,我可以访问定义的相关点. 现在,我想提取直线中的所有点,而不仅仅是我定义的点. 我看到以下问题: 问题 1 问题 2 我想知道使用所选答案是否会给出我想要的结果,意思是: 1) 按照问题 1 中的建议提取所有点(已经拥有它们) 2) 按照问题 2 中的建议计算每对(或三元组)点之间的所有点 这是解决这个问题的正 ..
发布时间:2021-09-12 19:44:40 移动开发

快速 3 CGPathAddCurveToPoint

我正在尝试将代码更新为 swift 3,但我找不到有关 CGPathAddCurveToPoint 的任何信息,我该如何修复错误? 路径是一个 CGMutablePath CGPathAddCurveToPoint(path, nil, 10, 10, 20, 20, 30, 30) 错误:nil 与预期的参数类型 'UnsafePoiter' 不兼容 我发现 CGPathAddL ..
发布时间:2021-09-02 18:48:59 其他开发

如何创建波浪路径 Swift

我希望我的节点以正弦曲线波行进,并且我尝试将其用于 CGPath.如何创建遵循正弦曲线的 CGPath?除了手动找到曲线上的点,还有其他方法吗,或者我可以传入一个正弦函数? let action = SKAction.followPath(, asOffset: true, orientToPath: true, duration: 5) 这可以通过 Bezier Paths 完成,然 ..
发布时间:2021-09-02 18:31:14 其他开发

相当于或替代 Swift 中的 CGPathApply?

在 预-发布文档 似乎没有 CGPathApply 的 Swift 版本.是否有等效或替代方案?我正在尝试获取 CGPath 的所有子路径,以便我可以从不同的起点重新绘制它. 解决方案 Swift 3.0 在 Swift 3.0 中,您可以像这样使用 CGPath.apply: 让路径:CGPath = ...//或让路径:CGMutablePathpath.apply(info: ..
发布时间:2021-09-01 20:37:08 移动开发

移动 CGPathCreateMutable() 使路径保持不变?

我在屏幕上有 9 个六边形精灵,我必须在它们周围指定特定的路径才能使它们的区域可触摸.我不想分别为每条路径设置坐标,所以我不能只使用第一条路径(六边形都是相同的大小)并将其原点移动到另一个位置(不破坏形状)?(如果我现在这样做, CGPathAddLineToPoint(); 从前一个六边形添加六边形的点.我希望我明白了......(见图......注意:右上角的灰色八角形是与黑色完全相同的大小和 ..
发布时间:2021-06-11 20:17:04 移动开发

在CGPath上获取随机的CGPoint

我有一个表示椭圆的CGPath.我想将一个Sprite节点放置在该路径上的一个随机点上.如何在该CGPath上获得随机的CGPoint? 解决方案 谈论封闭的 CGPath ,并思考一种快速方法,以获取 CGPath内部无限点之间的随机点,首先我已将其翻译为 Swift : 扩展名CGPath {func forEach(@noescape正文:@convention(block)(CG ..
发布时间:2021-04-24 20:32:00 其他开发

如何获得到CGPath的距离以进行命中测试?

我有一个开放的CGPath/UIBezierPath,我想为其检测用户是否触摸了它,即一个点是否在距路径一定距离之内.路径是开放的(即线/曲线,而不是形状).它可以同时包含“&"和“&";弯曲的元素.我如何获得到路径的距离以进行命中测试? 解决方案 似乎CGPath/UIBezierPath都没有执行此操作的功能.编辑:根据@nielsbot的建议,您可以使用 CGPathApply(…) ..
发布时间:2021-04-24 20:31:52 移动开发