加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iOS SDK – 图像屏蔽

发布时间:2020-12-14 17:54:57 所属栏目:百科 来源:网络整理
导读:如何用非透明像素用另一个图像掩盖图像? 例如. 当蒙版图像为黑白时,我使用此功能: - (UIImage *)maskImage:(UIImage *)image withMask:(UIImage *)maskImage { CGImageRef maskRef = maskImage.CGImage; CGImageRef mask = CGImageMaskCreate(CGImageGetWi
如何用非透明像素用另一个图像掩盖图像?
例如.

当蒙版图像为黑白时,我使用此功能:

- (UIImage *)maskImage:(UIImage *)image withMask:(UIImage *)maskImage {

    CGImageRef maskRef = maskImage.CGImage; 

    CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),CGImageGetHeight(maskRef),CGImageGetBitsPerComponent(maskRef),CGImageGetBitsPerPixel(maskRef),CGImageGetBytesPerRow(maskRef),CGImageGetDataProvider(maskRef),NULL,false);

    CGImageRef masked = CGImageCreateWithMask([image CGImage],mask);
    return [UIImage imageWithCGImage:masked];
}

但在我的情况下如何做到这一点?

解决方法

以下是实现结果的步骤

1)创建一个图像视图,并为其计算最佳大小(设置aspectFit选项)

2)获取图像视图框,并使用该选项创建蒙版(即缩放预定义的蒙版图像)

3)使用您创建的蒙版遮罩图像视图

    UIImageView *maskView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"star_mask_alpha.png"]];
    self.needsMaskImageView.layer.mask = maskView.layer;
    [self.needsMaskImageView setNeedsDisplay];

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读