【发布时间】:2012-03-19 18:17:45
【问题描述】:
我想在 HOLLOW CGPath 的 OUTSIDE 边缘周围添加一个阴影(这两个词很关键:outside +hollow :))。
Apple 的阴影实现只允许您进行“填充”阴影。
那么......如何剪掉阴影本身的内部部分?如果它是一个渲染调用,我会调用 CGContextSetClip* 方法将它剪辑到我想要的位置......但我看不出你是如何做到的,因为它既不是渲染调用,也不是 CALayer 本身.
(我猜是 Apple 将其“隐藏”为一组魔法变量的不幸后果?)
注意:这仅适用于 iOS - 在 Mac 上的 IIRC,您可以直接访问用于创建阴影的过滤器,因此您可以手动创建自己的(任意)阴影。
更新:
我想出了如何剪辑以仅显示阴影的内部部分:将“layer.mask”设置为一个新图层,它是当前图层的克隆(即相同的路径),并设置路径填充颜色对于任何具有完整 alpha 的内容。
这与我正在尝试的相反,所以如果我能找到一种方法让遮罩层翻转 alpha(0 变为 1,1 变为 0),我会在那里......
【问题讨论】:
标签: ios core-graphics calayer