【发布时间】:2011-01-11 06:21:55
【问题描述】:
【问题讨论】:
-
如何使用您的 InnerShadowDrawing.m 在 UILabel 的文本上绘制内部阴影?
标签: graphics photoshop core shadow
【问题讨论】:
标签: graphics photoshop core shadow
以下是制作此图像所需创建的图层,从后到前:
基色,在本例中为白色背景。
影子。
投射阴影的形状。这是通过找到内部形状的边界框,将该框扩大超过阴影的宽度,然后在具有内部形状的框上切割一个孔来实现的。
用内部形状剪裁这些。
然后最后绘制周围的彩色形状,在本例中是一个内部形状被剪掉的矩形。
注意:根据预期的外观,投射阴影的形状可能与填充前景色的形状相同,也可能不同。内部形状和外部形状之间的薄部分会减少阴影。如果不需要这种效果,则需要更大的外部形状才能获得一致的内部阴影。此外,如果阴影超出外部形状,则需要显式剪切阴影。
要绘制一个中间有孔的形状,例如这个示例形状,您需要绘制一个包含两个子路径的路径。一个子路径是外部盒子,另一个是内部不规则形状。如果您使用默认的非零绕组数规则,您需要指定与内部不规则形状相反方向的外框点。例如,按顺时针顺序指定外框的点将需要按逆时针顺序指定内部形状的点。详情请参阅Quartz 2D Programmer's Guide's section on Paths。
【讨论】:
【讨论】: