为UIImage添加滤镜效果
来源:互联网 发布:魏建峰 知乎 编辑:程序博客网 时间:2024/05/18 02:11
在iOS开发中,简单的为图片添加一些滤镜效果,我已经把添加的代码写在UIImage的类目中,下面是类目的实现:
.h文件
#import <UIKit/UIKit.h>@interface UIImage (UIImageCategory)- (UIImage *)addFilter:(NSString *)filter;@end.m文件
#import "UIImage+UIImageCategory.h"#import <CoreGraphics/CoreGraphics.h>@implementation UIImage (UIImageCategory)- (UIImage *)addFilter:(NSString *)filterName{ //将UIImage转换成CIImage CIImage *ciImage = [[CIImage alloc] initWithImage:self]; //创建滤镜 CIFilter *filter = [CIFilter filterWithName:filterName keysAndValues:kCIInputImageKey, ciImage, nil]; //已有的值不变,其他的设为默认值 [filter setDefaults]; //获取绘制上下文 CIContext *context = [CIContext contextWithOptions:nil]; //渲染并输出CIImage CIImage *outputImage = [filter outputImage]; //创建CGImage句柄 CGImageRef cgImage = [context createCGImage:outputImage fromRect:[outputImage extent]]; //获取图片 UIImage *image = [UIImage imageWithCGImage:cgImage]; //释放CGImage句柄 CGImageRelease(cgImage); return image;}@end系统提供给我们的滤镜名字有很多,这里列出几个供大家使用:
[NSArray arrayWithObjects:@"original", @"ColorInvert", @"ColorMonochrome", @"ColorPosterize", @"FalseColor",
@"RGBToneCurve", @"MaximumComponent", @"MinimumComponent", @"PhotoEffectChrome", @"PhotoEffectMono", @"PhotoEffectNoir",
@"PhotoEffectProcess", @"PhotoEffectTonal", @"PhotoEffectTransfer", @"SepiaTone", nil];
附上几张效果图:
1 0
- 为UIImage添加滤镜效果
- [转帖]Photoshop滤镜为照片添加下雨效果
- 使用CIFilter 为照片添加各种滤镜效果
- 图片添加滤镜效果,99中效果
- 为ffmpeg添加自定义滤镜
- 为ffmpeg添加自定义滤镜
- 为ffmpeg添加自定义滤镜
- 为ffmpeg添加自定义滤镜
- Unreal Engin_画廊制作笔记 _011<利用PS为场景添加滤镜效果>
- [IOS 开发] 为UIImage 绘制 毛玻璃效果
- 滤镜系列之(一) 为ffmpeg添加自定义滤镜
- 01 GPUImage为视频添加滤镜
- 03 GPUImage为图片添加滤镜
- 滤镜效果
- 给图片在博客中添加滤镜效果
- 直播预览层添加滤镜效果(CIFilter使用场景)
- IE8滤镜效果不支持,背景显示为黑色问题解决办法
- 安卓实现为图片添加滤镜功能
- Android studio2.0搭建NDK环境
- 在storyboard中给Label或Textview添加边框
- QT在windows下的安装
- 一位码农写给老婆的代码
- [POJ1521]Huffman编码
- 为UIImage添加滤镜效果
- Django开发博博客(十二)—优化导航条的处理
- MapReduce自定义输入格式
- jQuery实现复选框选中自动填充数据
- 除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。
- HTTPS TLS
- iOS收到推送消息后跳到指定的页面
- Toolbar中Menu不显示
- iOS9 HTTP 不能正常使用的解决办法