Tag: cgpath

如何用CGPathAddCurveToPoint创build一个完美的半圆?

我想用CGPathAddCurveToPoint创build一个完美的半径为15点的半圆,就像这样: CGPathMoveToPoint(path, NULL, 0, 0); CGPathAddCurveToPoint(path, NULL, 15, 0, 15, 30, 0, 30); 它从圈子的中间开始。 然后将第一个控制点设置到圆的边界框的右上angular。 第二个控制点设置在圆的边界框的右下angular。 圆圈在边框的底部中间结束。 但是画出来的时候,这个圆圈有一个像蛋的形状。 我怎样才能做出一个完美的,完美无瑕的右半球,从0,0点开始到0,30点?

使用CAEmitterLayer在圆或CGPath周围绘制粒子

我正在尝试使用iOS 5的粒子系统(CAEmitterLayer和CAEmitterCell)围绕一个圆(甚至更好的是CGPath)绘制粒子,但我不知道该怎么做。 我能做的最好的是做一个弧(通过修改CAEmitterCell的yAcceleration属性),但是我不能做一个完整的圆。 当然,我可以做多个弧来模拟一个圆,但“结”是非常明显的。 此外,我不想使用蒙版,因为它看起来像在边缘的粒子被裁剪。 任何想法如何做到这一点?

调整UIView以适应CGPath

我有一个UIView子类,用户可以在其中添加一个随机的CGPath。 CGPath是通过处理UIPanGestures添加的。 我想将UIView调整到包含CGPath的最小矩形。 在我的UIView子类中,我重载了sizeThatFits来返回最小尺寸,如下所示: – (CGSize) sizeThatFits:(CGSize)size { CGRect box = CGPathGetBoundingBox(sigPath); return box.size; } 这可以按预期工作,并且UIView被调整为返回的值,但是CGPath也是按比例“resize”,导致与用户最初绘制的path不同。 作为一个例子,这是用户绘制的path的视图: 这是resize后的path: 我怎样才能调整我的UIView,而不是“调整”的path?

Sprite Kit – SKShapeNodepath不绘制四曲线

我一直在研究苹果新的Sprite Kit,并且一直在使用它。 然而,当我试图绘制一个SKShapeNode的曲线path时遇到了一个问题。 它似乎只是画一条直线。 这是一个非常简单的例子,我正在尝试绘制一个CGPath的SKShapeNode : CGMutablePathRef path = CGPathCreateMutable(); CGPathMoveToPoint(path, NULL, 0, 0); CGPathAddQuadCurveToPoint(path, NULL, 50, 100, 100, 0); CGPathAddLineToPoint(path, NULL, 50, -100); CGPathCloseSubpath(path); SKShapeNode *shape = [[SKShapeNode alloc]init]; shape.path = path; [self addChild:shape]; CGPathRelease(path); 这是我的ASCII艺术(对不起,我没有足够的声望发布一个实际的图像呢): ——————————————————————————— | EXPECTED RESULT | ACTUAL RESULT | ——————————————————————————— | | | | __—-__ | | | / […]

从黑白位图图像中提取path信息

使用Quartz 2D绘制graphics并不容易,如下图所示。 是否有可能从黑白位图图像中提取CGPathRef信息? 白色部分实际上是透明的。 编辑 : 我想实现的是: 我想设置一个physicsBody的SKSpriteNode与图像bottle.png相同的形状 SKSpriteNode * myBottle = [SKSpriteNode spriteNodeWithImageNamed:@"bottle"]; . . . myBottle.physicsBody = [SKPhysicsBody bodyWithEdgeChainFromPath:path]; 她的path是CGPathRef ,我想使它与图片bottle.png具有相同的形状

在视图中重新定位CGPath / UIBezierPath

是否有可能重新定位已经绘制的CGPath / UIBezierPath在视图上? 我想移动或改变一个path的位置,那么也许回想一下drawinRect方法再次显示绘图。

从CGPath修剪/减去CGPath?

我在CGPath进行了一些CGPath (带有两个圆的CAShapeLayer 。 我可以修剪/减去这样的path吗?

来自string的CGPathRef

请问怎样才能得到法文信件的特定阿拉伯语? 我刚刚发现CTFontCreatePathForGlyph会给CGPathRef这样的,但它将是文本的轮廓。 我需要这个真正的文本path来显示文本绘图animation.. 请任何帮助

有没有人有任何关于如何使用MKOverlayPathView创buildpath的例子?

我一直在看苹果的iOS类参考文档,不幸的是没有更聪明的。 我已经下载了他们的示例代码KMLViewer但他们已经过度复杂…我真的想知道的是如何生成一个path,并将其添加到MKMapView 。 文档谈到使用CGPathRef ,但没有真正解释如何。 任何人都可以帮助或指出我在正确的方向吗? 谢谢!

如何使用Swift / iOS来animation人类书写的中风?

目的 我正尝试使用字形生成的UIBezierPath创build人类写作的animation近似。 我明白,我已经阅读了许多类似于我的UIBezierpath问题(但不是相同的)。 我的目标是创build一个逼近人物表情的animation。 背景 我已经创build了一个操场,用来更好地理解用于animation字形的path,就好像它们是用手绘制的一样。 Apple CAShapeLayer(strokeStart和strokeEnd)中的一些概念在animation时似乎并不像预期的那样运行。 我认为,一般人们往往会像用笔具(基本上是一条直线或曲线)来思考中风。 我们认为中风和填充在一起是一条线,因为我们的书写工具不区分中风和填充。 但是,当animation时,path的轮廓由线段构成(填充分开处理,不清楚如何animation填充的位置?)。 我想要实现的是一个自然的人类书写线条/曲线,它显示了中风的开始和结束,以及随着animation从开始到结束的移动而添加的部分填充。 最初这似乎很简单,但我认为它可能需要animation的填充位置(不知道如何做到这一点),笔画开始/结束(不知道这是否需要给出意外的注意事项与animation如何执行上述),并使用的子path(如何从一个已知的path重build)。 方法1 所以,我已经考虑了Path(CGPath / UIBezierPath)的概念。 每条path实际上都包含构build字形所需的所有子path,因此可能recursion这些子path并使用CAKeyframeAnimation / CABasicAnimations和显示部分构build的子path的animation组将是一个好方法(尽pipe每个子path的填充位置和笔画仍然需要从开始到结束?)。 这种方法导致了一个精炼的问题: 如果有一个完整的UIBezierPath / CGPath,如何访问和创buildUIBezierPath / CGPath(子path)? 如何使用path/子path信息使用书写工具绘制填充和描边animation? (看起来这意味着需要同时animationCALayer的strokeStart / strokeEnd,position和path属性) 注意: 正如在代码中可以看到的那样,我确实从字形中获得了完成的path。 我可以看到path描述给了我类似于path的信息。 一个人如何获取这些信息,并将其重新组合成一个数组 子path 人可写的笔画? (这里的想法是将点信息转换成类人类笔画的新数据types,这意味着要求algorithm识别每个填充的开始,斜率,端点和边界) 提示 我已经在Pleco(一个成功实现类似algorithm的iOS应用程序)中注意到,每个笔画都是由描述可写入笔画的闭合path组成的。 UIBezierPath有一个基于连续填充的封闭path。 需要一种algorithm来改进重叠填充以为每个笔划types创build不同的闭合path。 Erica Sadun在github上有一组path实用程序 。 我还没有完全探索这些文件,但他们可能certificate有用的确定离散笔画。 UIBezierpath结构似乎基于连续线段/曲线的概念。 填充交点处出现汇合点,代表定向path变化。 是否可以计算曲线/线段的笔画/填充angular度,并search其他曲线/线条以获得相应的合stream点? (即将一条线段跨越交叉填充的间隙连接起来,以产生两条独立的path – 假设一条线路拾取点并用新的线段/曲线重新创buildpath) 内省:有一个更简单的方法吗? 我错过了一个关键的API,一本书还是更好的方法来解决这个问题? 一些替代方法(无用 – […]