【问题标题】:iOS layer mask from UIImage/CGImage?来自 UIImage/CGImage 的 iOS 图层蒙版?
【发布时间】:2015-10-07 23:30:56
【问题描述】:

我有以下图片:

在完全相同的帧大小的 UIImageView 上,我想显示除红色填充之外的所有内容。

        let mask = CALayer()
        mask.contents = clippingImage.CGImage
        self.myImageView.layer.mask = mask

我认为当作为蒙版应用时黑色会显示出来,但是当我设置蒙版时,整个视图都被清除了。这里发生了什么?

【问题讨论】:

  • 你的图片有 alpha 通道吗?
  • @MitchellCurrie 我现在正在手动创建图像,使用 alpha 或不使用整个图像都会丢失。
  • 检查答案,我认为你很接近,但使用了错误的渠道

标签: ios calayer mask cgimage


【解决方案1】:

从图像创建蒙版时,您使用 Alpha 通道,而不是任何 RGB 通道。即使您的蒙版是黑色的,您也需要将其 Alpha 值设置为 0,因为蒙版只关注 Alpha 通道。就 RGBA 而言,任何默认黑色都是 [0,0,0,255]。如果你加载 RGB,它当然会转换成 A = 1 的 RGBA。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多