邮箱如何获得其图标和图像下方的图像效果?

Dev*_*fly -1 cocoa-touch image image-processing calayer ios

在此输入图像描述

显然在另一个图像下面有一个图像,那么超级图像(带有邮箱图标的图像)只是设计为在Photoshop或Gimp等中透明,或者他们在Cocoa中使用了一些其他很酷的技巧?

我想复制这个样子.

谢谢!

gue*_*nis 7

Photoshop解决方案:

使用Photoshop(或使用Gimp,我从未使用它,但它是应该存在的基本功能)可以更轻松地完成它.要在photoshop中创建一个像M形状填充白色或任何其他颜色的图层,然后将要屏蔽的图像复制到新图层,将其排列为M图层的上层.然后右键单击图像图层并在上下文菜单中按"创建剪贴蒙版".这很容易,但是你将无法改变图像.

使用图层蒙版的编程解决方案:

动态的替代方案是使用CALayermask属性.再次创建一个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;
Run Code Online (Sandbox Code Playgroud)

您还可以查看以下内容中的答案:如何屏蔽UIImageView