【问题标题】:iOS SDK - Image maskingiOS SDK - 图像遮罩
【发布时间】:2014-05-06 07:40:06
【问题描述】:

如何通过非透明像素用另一张图片遮盖一张图片? 例如。

当蒙版图像是黑白时,我使用这个功能:

- (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];
}

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

【问题讨论】:

    标签: ios objective-c xcode ios7


    【解决方案1】:

    这是实现结果的步骤

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-04
      • 2022-10-23
      • 2018-05-29
      • 2016-06-09
      • 2016-01-07
      • 1970-01-01
      • 1970-01-01
      • 2013-01-11
      相关资源
      最近更新 更多