核心图形中的内部阴影

mru*_*ueg 10 photoshop graphics core shadow

我想在Core Graphics中做类似于Photoshops内部阴影效果的操作.如果我使用此效果绘制/填充路径,我想获得类似于以下内容的内容:alt text http://i45.tinypic.com/357kile.png

Mr.*_*rna 11

以下是从后到前创建此图像所需的图层:

基色,在这种情况下是白色背景.

影子.

塑造阴影的形状.这是通过找到内部形状的边界框,将该框扩展超过阴影的宽度,然后在内部形状的框中切出一个孔来实现的.

用内部形状剪裁这些.

然后最后绘制周围的彩色形状,在这种情况下,切出内部形状的矩形.

注意:根据预期的外观,投射阴影的形状可能与填充前景色的形状相同或不同.内部形状和外部形状之间的薄部分会产生减小的阴影.如果不需要这种效果,则需要更大的外形以获得一致的内部阴影.此外,如果阴影超出外部形状,则需要明确剪切阴影.

要在中间绘制一个带孔的形状,就像这个示例形状一样,您需要绘制一个包含两个子路径的路径.一个子路径是外部框,另一个是内部不规则形状.如果您使用的是默认非零绕组编号规则,则需要指定外框的方向与内部不规则形状相反的方向.例如,以顺时针顺序指定外框的点将需要以逆时针顺序指定内部形状的点.有关更多详细信息,请参阅Quartz 2D Programmer's Guide的路径部分.