//导入要渲染的图片
UIImage *showImage = [UIImage imageNamed:@"hua.jpeg"];
CGRect rect = CGRectMake(0, 0, showImage.size.width, showImage.size.height);
//获取OpenGLES渲染的上下文
EAGLContext *eagContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
//创建出渲染的buffer
GLKView *glkView = [[GLKView alloc] initWithFrame:rect
context:eagContext];
[glkView bindDrawable];
[self.view addSubview:glkView];
//创建出CoreImage的上下文
CIContext *ciContext = [CIContext contextWithEAGLContext:eagContext
options:@{kCIContextWorkingColorSpace: [NSNull null]}];
//CoreImage相关设置
CIImage *ciImage = [[CIImage alloc] initWithImage:showImage];
CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone"];
[filter setValue:ciImage forKey:kCIInputImageKey];
[filter setValue:@(0) forKey:kCIInputIntensityKey];
//开始渲染
[ciContext drawImage:[filter valueForKey:kCIOutputImageKey]
inRect:CGRectMake(0, 0, glkView.drawableWidth, glkView.drawableHeight)
fromRect:[ciImage extent]];
[glkView display];
如果要动态渲染, 可以通过UISilder动态调整一下代码的vaule值
[filter setValue:vaule forKey:kCIInputIntensityKey];
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
注:相关教程知识阅读请移步到IOS开发频道。










