我在一张图像上使用了 2 个滤镜。这个问题很容易理解,如果我移动一个 slider ,滤镜将正常应用,但当我移动另一个 slider 时,图片将重置为原始 _tempImage
。
我尝试将 _justNowImage.image = QuickFilteredImage;
替换为 _tempImage = QuickFilteredImage;
,但结果是过滤器变得疯狂。
谢谢
- (IBAction)sharpenSliderChanged:(id)sender
{
GPUImageSharpenFilter *sharpenFilter = [[GPUImageSharpenFilter alloc] init];
[sharpenFilter setSharpness:sharpenSlider.value];
UIImage *quickFilteredImage = [sharpenFilter imageByFilteringImage: _tempImage];
_justNowImage.image = quickFilteredImage;
}
- (IBAction)exposureSliderChanged:(id)sender
{
GPUImageExposureFilter *exposureFilter = [[GPUImageExposureFilter alloc] init];
[exposureFilter setExposure:exposureSlider.value];
UIImage *quickFilteredImage = [exposureFilter imageByFilteringImage: _tempImage];
_justNowImage.image = quickFilteredImage;
}
最佳答案
UIImage *quickFilteredImage = [exposureFilter imageByFilteringImage: _tempImage];
您仅对原始图像应用不同的滤镜......即 _tempImage
将这些行添加到两个方法的末尾
_tempImage = quickFilteredImage
关于objective-c - 一个过滤器正在重置另一个过滤器。不能同时应用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14080922/