【发布时间】:2014-06-06 08:33:48
【问题描述】:
我正在使用 GPUImage 对图像应用过滤器和链式过滤器。我正在使用 UISlider 更改过滤器的值,并随着滑块值的变化在图像上连续应用过滤器。这样用户在更改值时就可以看到输出是什么。
这会导致处理速度非常慢,有时 UI 挂起或事件应用程序在收到内存不足警告时崩溃。
如何使用 GPUImage 实现快速过滤器实现。我似乎有一些在旅途中应用过滤器的应用程序,它们的 UI 甚至都没有挂起。
谢谢,
这是我用作滑块值更改的示例代码。
- (IBAction) foregroundSliderValueChanged:(id)sender{
float value = ([(UISlider *)sender maximumValue] - [(UISlider *)sender value]) + [(UISlider *)sender minimumValue];
[(GPUImageVignetteFilter *)self.filter setVignetteEnd:value];
GPUImagePicture *filteredImage = [[GPUImagePicture alloc]initWithImage:_image];
[filteredImage addTarget:self.filter];
[filteredImage processImage];
self.imageView.image = [self.filter imageFromCurrentlyProcessedOutputWithOrientation:_image.imageOrientation];
}
【问题讨论】:
标签: ios gpuimage core-image