我正在使用这样的解决方案来屏蔽我的UIImage,用一些alpha绘图:掩蔽UIImage
问题是,稍后我想应用一些CIFilters。但是,当我更改筛选器的值时,我的alpha就会从UIImage中丢失。修改CIFilter后,每次都要重新应用alpha通道输出图像吗?这肯定会使这一进程更加缓慢。
代码示例:(每个新段落都采用另一种方法)
// set the image
_image = [incomeImage imageWithMask:_mask]; // imageWithMask from method from link
[_myView.imageView setImage:_image];
// calculate ciimages
_inputCIImage = [[CIImage alloc] initWithCGImage:_image.CGImage options:nil];
_myView.imageView.image = _image;
_currentCIImage = _inputCIImage;
// change value in filter
[filter setValue:@(0.2f) forKey:@"someKey"];
[filter setValue:_inputCIImage forKey:kCIInputImageKey];
_currentCIImage = [filter outputImage];
CGImageRef img = [_context createCGImage:_currentCIImage fromRect:[_currentCIImage extent]];
UIImage *newImage = [UIImage imageWithCGImage:img];发布于 2013-08-19 06:40:32
您只能使用CIFilters来完成这一任务。而不是使用imageWithMask,您可以使用CIBlendWithMask CIFilter。苹果CIFilter参考
https://stackoverflow.com/questions/18273724
复制相似问题