【发布时间】:2016-12-25 23:26:41
【问题描述】:
我正在编写一个函数,它将对图像应用过滤器并返回新图像。我写了以下代码:
+ (UIImage*)applyFilter:(UIImage*) photo {
CIImage *image = [[CIImage alloc] initWithCGImage:photo.CGImage];
CIFilter *filter = [CIFilter filterWithName:@"CIphotoEffectTransfer"
keysAndValues: kCIInputImageKey, image,
@"inputIntensity", @0.8, nil];
CIImage *outputImage = [filter outputImage];
UIImage* newPhoto = [self imageFromCIImage:outputImage];
return newPhoto;
}
我遇到的问题是该函数返回的是一张零照片,而不是应用了过滤器的照片。有趣的是,如果我将过滤器名称更改为 @"CIVignetteEffect" 它将起作用。我不明白为什么一个过滤器有效,而另一个无效。我从以下链接中找到了两个过滤器:https://developer.apple.com/library/tvos/documentation/GraphicsImaging/Reference/CoreImageFilterReference/index.html#//apple_ref/doc/filter/ci/CIPhotoEffectTransfer
【问题讨论】:
标签: ios objective-c core-image cifilter