显然在另一个图像下面有一个图像,那么超级图像(带有邮箱图标的那个)只是在 Photoshop 或 Gimp 等中设计为透明的,还是他们在 Cocoa 中使用了其他一些很酷的技巧?
我想复制这种外观。
谢谢!
显然在另一个图像下面有一个图像,那么超级图像(带有邮箱图标的那个)只是在 Photoshop 或 Gimp 等中设计为透明的,还是他们在 Cocoa 中使用了其他一些很酷的技巧?
我想复制这种外观。
谢谢!
Photoshop解决方案:
您可以使用 Photoshop 更轻松地完成此操作(或使用 Gimp,我从未使用过它,但它是它应该存在的基本功能)。要在 Photoshop 中创建一个像 M 形填充白色或任何其他颜色的图层,然后将要遮罩的图像复制到新图层,将其排列为 M 形图层的上层。然后右键单击图像层并在上下文菜单中按“创建剪贴蒙版”。这很容易,但是您将无法更改图像。
使用图层蒙版的编程解决方案:
一个动态的替代方法是使用CALayer
'mask
属性。再次创建一个 M 形的 .png 蒙版图像,并确保图像的其他部分是透明的。然后,您可以使用此代码使用您创建的蒙版屏蔽任何图像。
CALayer *maskLayer = [CALayer layer];
UIImage *mask = [UIImage imageNamed:@"mask.png"];
maskLayer.contents = (id)mask.CGImage;
maskLayer.bounds = (CGRect){CGPointZero, mask.size};
UIImageView *viewToMask = [[UIImageView alloc] initWithFrame:someFrame];
viewToMask.image = [UIImage imageNamed:@"picture.png"];
viewToMask.layer.mask = maskLayer;
viewToMask.layer.masksToBounds = YES;
您还可以查看发布在:如何屏蔽 UIImageView中的答案