iOS图片编辑(CIFilter)

本文介绍了iOS中使用CIFilter进行图片编辑的基本概念和应用,包括CIFilterCategory、CIFilterName、attributes、inputImage与outputImage等核心概念。通过创建CIFilter对象并设置属性,实现图片的亮度、对比度、模糊等效果。同时,文章提供了解决高斯模糊边缘问题的方案,推荐了Opencv作为更高级的图片处理库。
摘要由CSDN通过智能技术生成

在iOS中开发过程中,如果你想对图片进行简单的处理,那么很简单,苹果帮我们封装了一套简单易用的API——CIFilter。
使用CIFilter你可以做到:调节图片亮度、对比度、饱和度等图片基本的操作;使用模糊、锐化、高反差等对图片进行滤镜处理。

一、基本概念

1、CIFilterCategory

图片处理的方式方法种类繁多,在CIFiler中是如何对这么多的图片处理方式进行归类的呢?苹果采用的是Category的形式。比如上文提到的图片亮度、对比度、饱和度等颜色处理都属于CICategoryColorAdjustment,图片模糊处理对应CICategoryBlur,图片锐化则对应CICategorySharpen。

2.CIFilterName

在图片处理中,除了大的种类划分之外,每一种类还有对应的不同处理方式,比如CICategoryBlur可以分为CIBoxblur、CIDiscblur、
CIGaussianBlur、CIMotionBlur、CIZoomBlur等。

3.attributes

要想对图片进行某一种处理,必须要调节对应属性的属性值,对于CIFilter来讲也就是filter对象的attributes。每一个CIFiler对象都包含attributes属性,并且其中相应的值在一定的区间内是可变动的,以此来作为图片对应属性处理的参数。

4.inputImage && outputImage

使用CIFilter对图片进行处理,CIFliter对象相当于设置了一系列参数的过滤器,将原始图片输入,输出使用相应参数处理后的图片。

二、使用CIFiler

1.准备工作

如果你使用较早版本的xcode,你可能需要导入一个动态库framework
在xcode7等新版本中,你可以直接导入CIFilter.h头文件进行下一步的开发。

2.创建一个CIFilter对象,并修改一种属性值,输出UIImage

由于在日常的iOS开发中,我们常用的图片对象是UIImage,它是属于UIKit.framework的,而CIFilter是属于Coreimage.framework。他们之间是不能直接进行转化的,这就需要借助中间层——CoreGraphics.framework。

UIImage *inputImageUI = [UIImage imageNamed:@"1"];
CIImage *inputImageCI = [CIImage imageWithCGImage:inputImageUI.CGImage];
CIFilter *filte
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值