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 表