-1

在此处输入图像描述

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

我想复制这种外观。

谢谢!

4

1 回答 1

7

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中的答案

于 2013-04-27T12:49:02.823 回答