gpt4 book ai didi

ios - 如何在 UIImage (GPUImage) 的不同滤镜之间正确切换

转载 作者:行者123 更新时间:2023-11-29 03:12:11 26 4
gpt4 key购买 nike

我正在开发一个过滤应用程序,类似于 GPUImage“filterShowCase”项目,但我专注于过滤静态图像(从用户库中选择)。主视图显示图像选择器选择的图像如下:

sourcePicture = [[GPUImagePicture alloc] initWithImage:sourceImage smoothlyScaleOutput:YES];
filter = [[GPUImageSepiaFilter alloc] init];

filterView = [[GPUImageView alloc]initWithFrame:self.view.frame];
filterView.contentMode = UIViewContentModeScaleAspectFit;
filterView.clipsToBounds = YES;

//Setup targets
[sourcePicture addTarget:filter];
[filter addTarget:filterView];
[sourcePicture processImage];

[self.view addSubview:filterView];

一切正常,图像以棕褐色过滤。我允许用户根据用户输入更改过滤器,目的是在不同过滤器之间快速切换 - 这一切都在 switch 语句中完成...

switch (filterNumber)
{
case GPUIMAGE_SEPIA:
{
self.title = @"Sepia Tone";


filter = [[GPUImageSepiaFilter alloc] init];
}; break;
//a bunch of other filters...

}
[sourcePicture removeAllTargets];
[sourcePicture addTarget:filter];
[filter addTarget:filterView];
[sourcePicture processImage];

这个 (^) 是我正在使用的当前过程,但是在选择过滤器类型和实际修改图像以匹配该过滤器之间有一个很小的时间间隔。

我之前尝试过只是[sourcePicture processImage]但是那没有用(没有改变GPUImageView中的图像),所以我在做什么错误的? - 还是系统的预期性能?

谢谢!

回答查看 Brad Larsons 对这个问题的评论。

最佳答案

正如 Brad Larson 所写,使用 [filter forceProcessingAtSize] 将减少过滤器的执行时间。

关于ios - 如何在 UIImage (GPUImage) 的不同滤镜之间正确切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22138140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com