Tag: mask

layer.renderInContext不考虑layer.mask?

我正在尝试将一些UIImage渲染成我可以保存在我的相册中的单个图像。 但是,似乎layer.renderInContext没有考虑到图层遮罩? 目前的行为:照片保存,我看到mosaicLayer,没有掩码效果的maskLayer。 预期的行为:照片保存,我看到我的视图中的图像,顶部是一个蒙面的mosaicLayer。 我使用下面的代码来掩盖图像 UIImage *maskImg = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"mask" ofType:@"png"]]; maskLayer = [[UIImageView alloc] initWithImage:maskImg]; maskLayer.multipleTouchEnabled = YES; maskLayer.userInteractionEnabled = YES; UIImageView *mosaicLayer = [[UIImageView alloc] initWithImage:img]; mosaicLayer.contentMode = UIViewContentModeScaleAspectFill; mosaicLayer.frame = [imageView bounds]; mosaicLayer.layer.mask = maskLayer.layer; [imageView addSubview:mosaicLayer]; 然后我使用这段代码保存我的合成图像: UIGraphicsBeginImageContext(imageView.bounds.size); [imageView.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *saver = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); UIImageWriteToSavedPhotosAlbum(saver, self, @selector(image:didFinishSavingWithError:contextInfo:), nil); […]