IOS 图片滤镜效果处理
来源:互联网 发布:手机数据损坏如何恢复 编辑:程序博客网 时间:2024/05/16 15:42
IOS 图片滤镜效果处理
图片色彩滤镜处理
/** * 图片色彩滤镜处理 * * @param _inputImage 原始需要处理的图片 * @param _saturation 饱和度(0.f - 2.f) * @param _brightness 亮 度(-1 - 1) * @param _contrast 对比度(0.f - 2.f) * * @return UIImage */+(UIImage *)imageColorControlsFilterSet:(UIImage *)_inputImage andSaturation:(float)_saturation andBrightness:(float)_brightness withContrast:(float)_contrast{ UIImage *outputImage = _inputImage; // [S] 滤镜处理 @autoreleasepool { //创建图像上下文 CIContext CIContext *_context = [CIContext contextWithOptions:nil]; //创建滤镜CIFiter CIFilter *_colorControlsFilter = [CIFilter filterWithName:@"CIColorControls"]; //创建过滤源图片CIImage CIImage *_image = [CIImage imageWithCGImage:_inputImage.CGImage]; [_colorControlsFilter setValue:_image forKey:kCIInputImageKey]; // [S] 设置滤镜参数【可选】 //调整饱和度(0.f - 2.f) [_colorControlsFilter setValue:[NSNumber numberWithFloat:_saturation] forKey:@"inputSaturation"]; //调整亮度(-1.f - 1.f) [_colorControlsFilter setValue:[NSNumber numberWithFloat:_brightness] forKey:@"inputBrightness"]; //对比度(0.f - 2.f) [_colorControlsFilter setValue:[NSNumber numberWithFloat:_contrast] forKey:@"inputContrast"]; // [E] 设置滤镜参数【可选】 //取得输出图片显示或保存 _image = [_colorControlsFilter outputImage]; CGImageRef temp = [_context createCGImage:_image fromRect:[_image extent]]; outputImage = [UIImage imageWithCGImage:temp]; //释放CGImage对象 CGImageRelease(temp); } // [E] 滤镜处理 return outputImage; }
图片高斯模糊滤镜处理
/** * 图片高斯模糊滤镜处理 * * @param _inputImage 原始需要处理的图片 * @param _radius 迷糊值(默认为 10) * * @return UIImage */+(UIImage *)imageGaussianBlurFilterWithImage:(UIImage *)_inputImage andRadius:(float)_radius{ UIImage *outputImage = _inputImage; @autoreleasepool { //创建上下文 CIContext *context = [CIContext contextWithOptions:nil]; //创建滤镜(高斯模糊) CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"]; //创建过滤源图片 CIImage *image = [[CIImage alloc] initWithCGImage:_inputImage.CGImage]; [filter setValue:image forKey:kCIInputImageKey]; //设置过滤参数 [filter setValue:[NSNumber numberWithFloat:_radius] forKey:@"inputRadius"]; //取得输出图片显示或保存 image = [filter valueForKey:kCIOutputImageKey]; CGImageRef temp = [context createCGImage:image fromRect:[image extent]]; outputImage = [UIImage imageWithCGImage:temp]; //释放 CGImageRelease(temp); } return outputImage;}
/** * 图片高斯模糊滤镜处理 * * @param _inputImage 原始需要处理的图片 * @param _radius 迷糊值(默认为 10) * * @return UIImage */+(UIImage *)imageGaussianBlurFilterWithUrl:(NSURL *)_imgUrl andRadius:(float)_radius{ UIImage *outputImage; CIImage *image = [CIImage imageWithContentsOfURL:_imgUrl]; //创建上下文 CIContext *context = [CIContext contextWithOptions:nil]; //创建滤镜(高斯模糊) CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"]; //创建过滤源图片 [filter setValue:image forKey:kCIInputImageKey]; //设置过滤参数 [filter setValue:[NSNumber numberWithFloat:_radius] forKey:@"inputRadius"]; //取得输出图片显示或保存 image = [filter valueForKey:kCIOutputImageKey]; CGImageRef temp = [context createCGImage:image fromRect:[image extent]]; outputImage = [UIImage imageWithCGImage:temp]; //释放 CGImageRelease(temp); return outputImage;}
以上方法只是抛砖引玉,更多详细介绍请自行查找资料,谢谢
阅读全文
0 0
- IOS 图片滤镜效果处理
- iOS图片处理之滤镜效果
- iOS CoreImage滤镜 图片处理效果
- iOS滤镜 图片处理
- iOS CoreImage图片处理动态渲染(滤镜)
- iOS-图片处理 by GPUImage 滤镜
- CSS图片滤镜效果
- ios 简单滤镜效果
- iOS 滤镜效果
- iOS开发 滤镜效果
- iOS中对图片的处理(对图片进行滤镜处理、调整图片饱和度、亮度、对比度、创建一张实时模糊效果 View (毛玻璃效果)、截取一张 view 生成图片)
- IOS滤镜处理
- Html中图片滤镜效果
- JS 滤镜切割图片效果。
- css图片滤镜效果代码
- flex 图片滤镜效果实例
- jQuery 变动图片、滤镜效果
- flex 图片滤镜效果实例
- 为什么 Nginx 的性能要比 Apache 高很多?
- 关于ADB 没有驱动的问题
- 数字IP的作用以及转换
- C++ map,set内部数据结构简析
- Rxjava详解(一)
- IOS 图片滤镜效果处理
- PS 抠图大总结
- Learning Spark笔记9-确定RDD分区
- 本我、自我与超我
- “一个程序员的Java和C,C++学习之路”阅读笔记1
- Android Studio中设置作者和创建日期、时间等注释模板
- 基于Socket实现的android端和PC端同步绘画板
- sql之left join、right join、inner join的区别
- 设计模式(Design Patterns)-可复用面向对象软件的基础 07:装饰模式(Decorator)