资讯专栏INFORMATION COLUMN

Core Image

MRZYD / 2062人阅读

摘要:是推出一个进行图像处理相关的库,也可以进行视频方面的处理。在使用上,可以对图片进行一定的变形美化叠加马赛克等。其中,除了外,还有像素化中心位置,是指图片上的坐标,使用格式,穿入二维坐标,以及像素化的程度大小,格式。

Core Image

==========

Core ImageiOS推出一个进行图像处理相关的库,也可以进行视频方面的处理。滤镜URL。官方文档在介绍上很详细,必须大多数滤镜效果都有一个样式结果进行查看。在使用上,可以对图片进行一定的变形、美化、叠加、马赛克等。

每一个滤镜都会有一些相应的属性。inputImageoutputImage是所有滤镜都有的属性,均适用CIImage格式,不过后者没有体现出来。但是在导出效果图片的时候都会使用到。另外,还有一些滤镜拥有inputCenterinputScale等一些属性,至于其使用的格式,可以在上述链接中,查到。

比如要使用CIPhotoEffectMono滤镜的效果,代码如下。

CIImage *inputImage = [CIImage imageWithCGImage:image.CGImage];

CIFilter *filter = [CIFilter filterWithName:@"CIPhotoEffectMono" keysAndValues:kCIInputImageKey,inputImage ,nil];
CIContext *ciContext = [CIContext contextWithOptions:nil];

CGImageRef cgImage = [ciContext createCGImage:filter.outputImage fromRect:inputImage.extent];
UIImage *resultImage = [UIImage imageWithCGImage:cgImage];

需要把 所需调整的图片,转成 CIImage 格式,再使用CIFilter进行初始化值。

另外,有些滤镜会使用到CIVector的。CIVector类似一个坐标属性的东西,可以通过一维、二维、三维、四维,传入参数进行初始化。

比如一个 CIPixellate的使用效果,顾名思义,这是用于生成马赛克效果的滤镜。其中,除了inputImage外,还有inputCenter(像素化中心位置,是指图片上的坐标,使用CIVector格式,穿入二维坐标(x,y)),以及inputScale(像素化的程度大小,NSNumber格式)。

CIImage *inputImage = [CIImage imageWithCGImage:image.CGImage];

CIFilter *filter = [CIFilter filterWithName:@"CIPixellate" keysAndValues:kCIInputImageKey,inputImage ,kCIInputCenterKey,[CIVector vectorWithX:_sourceImageView.image.size.width/2.0f Y:_sourceImageView.image.size.height/2.0f],kCIInputScaleKey,[NSNumber numberWithInteger:50],nil];

CIContext *ciContext = [CIContext contextWithOptions:nil];

CGImageRef cgImage = [ciContext createCGImage:filter.outputImage fromRect:inputImage.extent];
UIImage *image = [UIImage imageWithCGImage:cgImage];

滤镜的使用,大致上是这些。

稍后继续。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/16233.html

相关文章

  • react-core-image-upload 一款轻量级图片上传裁剪插件

    摘要:在不久前,我们把发布了。这次我们保持了完整的迁移到了上。支持了定义,支持了的自定义事件,更新了更加详细的文档。如果你需要自定义裁剪弹窗的的样式,你可以自己写进行覆盖 showImg(https://segmentfault.com/img/bVKj4B?w=1600&h=900); 在不久前,我们把vue-core-image-upload 发布了2.0 。这次我们保持了完整的api迁...

    Lavender 评论0 收藏0
  • iOS-去除图片中指定范围内颜色的三种方式

    摘要:实际项目场景去除图片的纯白色背景图,获得一张透明底图片用于拼图功能介绍两种途径的三种处理方式不知道为啥想起了孔乙己,具体性能鶸并未对比,如果有大佬能告知,不胜感激。笔者因为项目中,只需要去除白色背景,所以最终采用了最后一种方式。 实际项目场景:去除图片的纯白色背景图,获得一张透明底图片用于拼图功能 介绍两种途径的三种处理方式(不知道为啥想起了孔乙己),具体性能鶸并未对比,如果有大佬能告...

    zhjx922 评论0 收藏0
  • UIView自定义绘制

    摘要:但是,对于一些特殊的情况,我们需要绘制产品狗想要的图形。四与圆角定制类是基于的,准确的说是基于的。应用场景对于某些需要绘制边框的需求,我们可以通过上述三四两种方式绘制边框。对于某些非矩形,并且使用系统不提供的样式显示的,我们需要进行自绘。 许多UIView的子类,如UIButton或UILabel,它们的形状都是系统固定的。但是,对于一些特殊的情况,我们需要绘制产品狗想要的图形。那么...

    sf190404 评论0 收藏0
  • 图层树和寄宿图 -- iOS Core Animation 系列一

    摘要:提供和两个平行的层级关系,应该也是为了解耦,做职责分离。以便能适应和的系统。因为默认情况下,仍会绘制超过边界的内容,在也不例外。的属性允许我们在图层边框里显示寄宿图的一个子域。因为当图层显示在屏幕上时,不会自动重绘,这和不同。 本系列文章算是一系列读书笔记,想了解更多,请看原文 1.图层树 1.1 视图 一个视图就是在屏幕上显示的一个矩形块(比如图片,文字或者视频),它能够拦截类似于鼠...

    My_Oh_My 评论0 收藏0
  • Docker-CE 入门

    摘要:记录作者是我关于的实践记录,该实践的构建环境以下配置源的作用是添加文件注意速度有点慢开启指定部分更新缓存部署指定版本本地部署下载地址注意的依赖可以使用国内源,我配 Docker Action 记录 作者: LinkSystem 2017/08/11 Docker Action 是我关于Docker-CE的实践记录,该实践的构建环境以下: [root@core ~]# cat /...

    libin19890520 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<