iOS Core Graphics 中的“形状爆裂”笔划

Posted

技术标签:

【中文标题】iOS Core Graphics 中的“形状爆裂”笔划【英文标题】:"shape burst" stroke in iOS Core Graphics 【发布时间】:2012-10-03 19:01:42 【问题描述】:

有没有办法通过抚摸 CGPathRef 在 Core Graphics 中创建以下效果?

如果可能的话,使用 Core Graphics 绘制会比简单地沿路径绘制径向椭圆 CGImageRef 更有效吗?

编辑:澄清:我希望笔画的中心部分为 100% 不透明度,边缘从 100% 不透明度淡出为 0% 不透明度。

编辑 2:另外,我打算在 MKOverlayView 中使用此绘图来突出显示用户的路径...所以不确定模糊滤镜是否足够高效。

【问题讨论】:

您是否尝试过在绘制椭圆时设置阴影? @fzwo 这是可能的,但我在 Core Graphics 中并没有真正看到任何模糊支持。你能告诉我更多你的意思吗? @jrturton 我现在将研究阴影,但椭圆不起作用,因为从技术上讲,形状实际上是一个圆角矩形,我想将一大堆这些连接在一起划出一条路。但也许是描边路径上的阴影...... @awolf 抱歉,我并没有真正暗示模糊,我只是在询问您想要达到的确切效果。正如@jrturton 建议的那样,我会尝试阴影(但我从来不需要在核心图形中这样做,所以不能提供进一步的帮助 - 但也许CGContextSetShadowWithColor 可以帮助你实现你想要的)。 【参考方案1】:

带有阴影的圆顶粗路径可能是您的最佳解决方案。这将涉及:

CGContextSetLineWidth()
CGContextSetLineCap()
CGContextSetShadowWithColor()

您需要零偏移阴影,并且需要尝试使用半径和模糊参数来获得您想要的效果。

【讨论】:

以上是关于iOS Core Graphics 中的“形状爆裂”笔划的主要内容,如果未能解决你的问题,请参考以下文章

iOS绘图—— UIBezierPath 和 Core Graphics

在 iOS 中使用 Core Graphics 绘制 VU 表

在 iOS 上使用 Core Graphics 在 PDF 中嵌入超链接

Core Graphics框架 利用Quartz 2D绘图

Core Graphics 中的内部阴影

带有 Core Graphics 绘图的 Core Animation