我正在寻找反转CGPath(相对于Rect)。这样,我的意思是我已经定义了一个CGPath并且我想要一个CGPath来概述矩形中的所有其他区域。我一直在尝试不同的方法,并且在谷歌上搜索了几天,但没有成功。我就是无法解决!考虑以下具有定义的CGPath的矩形(其中绿色是已定义的CGPath填充):现在,使用我想要的(反转的CGPath)将产生以下结果:具体来说,这是用于SpriteKit框架中的SKCropNode和SKPhysicsBody,但是我正在使用CGPaths(并将路径存储在ivar中)。是否可以反转CGPath或其他方式?如果是,怎么做?提前致谢。
如何获取图像的轮廓作为CGPath?例如,我怎样才能得到谷歌标志的轮廓(它有一个透明的背景)。这可能是稍微复杂的情况。因此,处理不太复杂场景的解决方案(对我而言)也适用。 最佳答案 我不久前发现了它,并将其用于我正在做的事情。PoketSVG是一个将可缩放矢量图形转换为CGPaths和UIBezierPaths的库。也许这会对你有所帮助?它位于GitHub上,因此如果库本身对您没有用,您至少也可以看看他们在做什么。祝你好运!编辑:当我使用该库时,我用它来获取矢量图形的轮廓。请注意,它们是实心形状、矩形和正方形。同样,我认为这是一个很
如何删除路径的某些部分?我在屏幕上绘制了一条路径,现在假设我想删除1/3:我试过这样做(路径是我的原始路径,cPath是将被剪切的副本):letsizePath=CGPathGetBoundingBox(path).sizeUIGraphicsBeginImageContext(sizePath)letcontext=UIGraphicsGetCurrentContext()letcPath=CGPathCreateMutableCopy(path)CGContextAddPath(context,cPath)CGContextDrawPath(context,.Stroke)letr
我正在尝试使用CGPath多边形为这个SKSpriteNode制作一个SKPhysics主体。问题是,当我检查此节点和播放器节点之间的碰撞时,执行了didBeginContact方法,即使它们没有相互接触。我相信他们的坐标有问题,但我看不到多边形线,这让我也很难看到线的准确性。这是我使用的代码:lettriangle=SKSpriteNode(imageNamed:"Triangle_ZigZag")lettrianglePath=CGMutablePath()trianglePath.addLines(between:[CGPoint(x:triangle.size.width,y:
我有一个代表椭圆的SKShape节点。玩家被放置在基于椭圆CGPath的贝塞尔路径的当前点上:我有两个玩家节点可以执行的操作。玩家可以顺时针或逆时针沿着路径行驶。rotateCounterClockwiseAction=SKAction.followPath(counterClockwisePath.CGPath,asOffset:false,orientToPath:true,duration:1)rotateClockwiseAction=SKAction.followPath(clockwisePath.CGPath,asOffset:false,orientToPath:tru
我有许多UIBezierPath,我正在使用CALyerAnimation@"StrokeStart"和@"strokeEnd"制作动画。我希望动画对所有路径都具有相同的速度,所以我想我可以使用以下路径的长度:DISTANCE/TIME=SPEED有没有办法计算路径“长度”?谢谢沙尼 最佳答案 虽然您可以通过数值积分来计算贝塞尔路径的长度,但通过将路径分成线性段可以更容易地完成计算。如果片段足够小,则近似误差应该可以忽略不计,尤其是当您只是想对其进行动画处理时。我将向您展示四边形曲线的函数,但您也可以轻松地合并三次曲线的解:-(fl
如果我通过将两条圆形路径相加来创建CGMutablePathRef,如左图所示,是否有可能获得仅代表外边界的最终CGPathRef,如右图所示?感谢您的帮助! 最佳答案 您要求的是贝塞尔曲线路径的联合。Apple不提供任何用于计算路径并集的API。这实际上是一个相当复杂的算法。这里有几个链接:http://www.cocoadev.com/index.pl?NSBezierPathcombinatoricshttp://losingfight.com/blog/2011/07/09/how-to-implement-boolean-
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion目前,我正在尝试弄清楚如何为自定义按钮设置动画,我有一个图像和一个坐标,但我发现您可以使用CGPath类创建一个按钮/对象或UIBezierPath类。有人可以告诉我两者之间有什么区别吗?