问题标签 [cgpath]

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 投票
2 回答
1897 浏览

ios - 如何反转 CGPath 的点顺序

我想画一个圆圈,里面有一个字母。要做到这一点,我需要顺时针画圆,逆时针画字母。

这一切都很好,但是当我使用 Core Text 获得字母路径时,我无法弄清楚如何从本质上反转路径。不是镜像或旋转或任何东西......这很简单。我希望点笔画顺序是逆时针的。

这实际上非常困难。我已经完全有太多的视觉上的“差一点”错误。

0 投票
2 回答
1142 浏览

ios - iOS4 上的 CGPathCreateCopyByStrokingPath 等价物?

我发现 iOS 5.0 上的 CGPathCreateCopyByStrokingPath 使用起来非常方便,但它在 iOS 5 及更高版本上可用。

有什么简单的方法可以在 iOS 4 上实现相同的路径复制吗?

0 投票
1 回答
1188 浏览

ios - 带有 CGPath 的 UIView 和另一个包含第一个 UIView 的 UIView。如何将第一个视图适合第二个视图?

问题是...

我有一条路径,我创建了一个在其中绘制它的视图。视图具有相同的路径维度。然后,我创建了第二个视图,在其中我覆盖了 sizeThatFit: 方法,因此第一个视图被缩放,直到第二个视图的所有空间都已满(这就是我对 sizeThatFit: 方法所做的事情的想法!我不知道它是否正确)。那是代码:

在 SecondView 我已经覆盖了 sizeThatFit: 方法!

我不知道为什么它不起作用!路径始终具有相同的维度。我会采取一条路径并将其绘制在路径具有他的维度的视图中。因此,例如,如果路径的 boundingBox 是 [10,10] 并且视图是 [100,100],我希望该路径变得与视图维度一样大。我能怎么做 ??

我希望问题足够清楚。对不起我的英语不好 :)

这是 FirstView.m:

编辑:

如果我做

并在 SecondView.mi 覆盖 sizeThatFit 方法中,安装第一个视图!!!问题是路径也不合适!!!它始终具有相同的尺寸:(

编辑2

我也尝试过这种方式:

但是什么都没有!压力很大.... :'(

请问我需要帮助!

0 投票
1 回答
597 浏览

core-graphics - 如何确定 CGPath 的来源?

我在 a 中绘制文本CGPath,为了对文本进行命中测试,我正在使用CTFrameGetLineOrigins. 这是文档中的内容:

每个 CGPoint 是 CTFrameGetLines 返回的行数组中相应行的原点,相对于帧路径的原点。

我将如何寻找框架路径的原点?我发现的示例都在最初创建路径时保存了路径的原点。我有两个问题:

  1. 我的路径的创建与我进行命中测试的地方相距甚远。我需要确保CGPoint除了CGPath. 丑陋,但并非不可逾越。
  2. 不是矩形的形状的原点是什么?圆形 CGPath 的起源是什么?
0 投票
1 回答
7600 浏览

objective-c - iOS 核心图形:仅绘制 CGPath 的阴影

我正在使用 Core Graphics 在 iOS 5 中绘制一条简单的路径:

现在我想像这样以叠加模式填充它:

这给了我完全预期的结果。但接下来,我想创建一个浮雕效果。我想用一个白色和一个黑色的阴影来达到这样的效果:

问题是,当 alpha 设置为 0 时,不会绘制阴影。
现在的问题是:有没有办法绘制没有填充颜色但全 alpha 的阴影?我可以以某种方式防止我的路径内部被绘制吗?或者是否有一种更简单的方法可以为一条路径绘制两个阴影?

0 投票
3 回答
1914 浏览

iphone - 使用 CAEmitterLayer 围绕圆形或 CGPath 绘制粒子

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

0 投票
1 回答
5466 浏览

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

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

hex2TouchArea=CGPathCreateMutable();

在这里,我放了一张图片,在图片中显示它
http://666kb.com/i/bz2ysevuw8n65rh3i.gif

*编辑:我从帖子中得到了解决方案并稍作改动:*

0 投票
2 回答
7363 浏览

objective-c - 我无法填写我的 CGPath

我需要一些帮助来填补我的道路。例如,我不知道该放在哪里CGContextFillPath(path);。我对绘图(和 iOS 开发)还很陌生,现在我真的尝试了将近两个小时。但我到了不得不放弃的地步……希望你能对我的问题有所了解。我收到以下错误:invalid context

0 投票
2 回答
6192 浏览

cocoa-touch - 来自图像的 CGPath

我需要根据图像(任何可能的形状)创建蒙版。我需要:

  1. 使用 CGPath 作为适当的掩码创建 CALayer
  2. 调用 [UIView.layer setMask: with layer above]

所以主要的大问题是如何设置基于黑白图像的CGPath?或者是否可以直接从图像中放置遮罩?

谢谢!


面具的示例图像: 示例掩码

0 投票
2 回答
6655 浏览

iphone - 在多个 CGPath 的内边缘周围绘制发光

图片

如果我通过将左图所示的两条圆形路径相加来创建 CGMutablePathRef,是否可以获得仅代表右图所示外边界的最终 CGPathRef?

谢谢你的帮助!