【问题标题】:How does Mailbox get the effect of their icon and an image underneath it? [closed]Mailbox 如何获得其图标和其下方图像的效果? [关闭]
【发布时间】:2013-04-21 13:16:39
【问题描述】:

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

我想复制这种外观。

谢谢!

【问题讨论】:

  • 请澄清问题。
  • 如您所说,最简单的方法是在徽标部分清晰的图像上放置一个背景图像

标签: ios image cocoa-touch image-processing calayer


【解决方案1】:

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;

您还可以查看发布在:How to Mask an UIImageView 的答案

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-22
    • 2020-10-13
    • 2013-07-06
    • 2018-03-01
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    相关资源
    最近更新 更多