美文网首页
图片滤镜 之 开源框架 GPUImage

图片滤镜 之 开源框架 GPUImage

作者: 小凡凡520 | 来源:发表于2019-10-08 09:26 被阅读0次
二、导入方式
pod 'GPUImage'
三、简单使用
  • 拉升变形滤镜
let gpupicture = GPUImagePicture(image: UIImage(named: "1.jpg")!)
//创建滤镜
let stretchDistortionFilter = GPUImageStretchDistortionFilter()
//为滤镜赋值
stretchDistortionFilter.center = CGPoint(x: 0.2, y: 0.2)
//将输入源和滤镜绑定
gpupicture?.addTarget(stretchDistortionFilter)
//为原图附上滤镜效果
gpupicture?.processImage()
//滤镜收到原图产生的一个frame,并将它作为自己的当前图像缓存
stretchDistortionFilter.useNextFrameForImageCapture()
//通过滤镜,获取当前的图像
resultImgView.image = stretchDistortionFilter.imageFromCurrentFramebuffer()
  • 复合滤镜(GPUImageFilterPipeline)
    开发过程中,必然会有多种滤镜复合的需求,例如一个可以变化亮度、对比度、曝光的图像调节程序。但是依照上一个示例,我们每添加一种滤镜,便会代替之前的滤镜效果。如果每次处理的都是上一次的filter导出的UIImage图片的话,又会导致无法恢复到原图样子,导致失真。
let gpupicture = GPUImagePicture(image: UIImage(named: "1.jpg")!)
//卡通描边滤镜
let toonFilter = GPUImageToonFilter()
toonFilter.threshold = 0.1
//拉升变形滤镜
let stretchDistortionFilter = GPUImageStretchDistortionFilter()
stretchDistortionFilter.center = CGPoint(x: 0.5, y: 0.5)
//将滤镜组成数组
let filters = [toonFilter,stretchDistortionFilter]
//通过pipline,将输入源,输出,滤镜,三方绑定
let pipLine = GPUImageFilterPipeline(orderedFilters: filters, input: gpupicture, output: gpuimageView)
//绘制产出最终带有复合滤镜的图像
gpupicture?.processImage()
//获取产出的UIImage图像
//此时调用useNextFrameForImageCapture的可以是任一在数组中的Filter
stretchDistortionFilter.useNextFrameForImageCapture()

resultImgView.image = pipLine?.currentFilteredFrame()

相关文章

  • 图片滤镜 之 开源框架 GPUImage

    二、导入方式 三、简单使用 拉升变形滤镜 复合滤镜(GPUImageFilterPipeline)开发过程中,必然...

  • 美颜滤镜效果

    美颜滤镜效果 GPUImage的介绍 GPUImage 是一个开源的基于GPU的图片或视频的处理框架,其本身内置了...

  • iOS GPUImage 的使用

    GPUImage是现在做滤镜最主流的开源框架,没有之一。作者BradLarson基于openGL对图片处理单元进行...

  • GPUImage简述

    GPUImage是现在做滤镜最主流的开源框架,没有之一。作者BradLarson基于openGL对图片处理单元进行...

  • iOS GPUImage 的使用

    GPUImage是现在做滤镜最主流的开源框架,没有之一。作者BradLarson基于openGL对图片处理单元进行...

  •  iOS 使用GPUImage实现滤镜效果

    GPUImage实现滤镜效果 GPUImage是一个开源的图像处理第三方库,提供了100多种滤镜效果来加工处理图片...

  • GPUImage集成

    GPUImage集成 GPUImage是一个基于GPU操作,提供图像和视频处理的开源框架,其中内置了120多中滤镜...

  • GUIImage—1、简单使用

    GPUImage 是一个开源的基于GPU的图片或视频的处理框架,其本身内置了多达120多种常见的滤镜效果GPUIm...

  • 笔记-GPUImage(一)简介以及如何正确的导入项目

    介绍 GPUImage是一个开源的基于GPU的图片或视频的处理框架,其本身内置了近120多种场景的滤镜效果,并且支...

  • 01 GPUImage初试

    前言 GPUImage是现在做滤镜最流行的开源框架。是Brad Larson在gitHub托管的一个开源项目。项目...

网友评论

      本文标题:图片滤镜 之 开源框架 GPUImage

      本文链接:https://www.haomeiwen.com/subject/tjyiuctx.html