使用不透明度添加GPUImage Vignette过滤器

时间:2016-11-17 21:25:30

标签: ios iphone swift gpuimage

我正在尝试使用GPUImage在图像上创建效果。我正在为图像添加一个小插图,以产生一个Instagram风格的过滤器。目前我正在使用GPUImageVignetteFilter来实现这一目标。过滤器工作,但我正在寻找一种方法来降低此过滤器的不透明度,或将其混合类似于photoshop效果。目前的代码:

  let sourceImage = GPUImagePicture(image: "Nothing.png")
  let vignetteFilter = GPUImageVignetteFilter()
  vignetteFilter.vignetteColor = GPUVector3(one: 77.0 / 255.0, two: 3.0 / 255.0, three: 188.0 / 255.0)
  vignetteFilter.vignetteStart = 0
  vignetteFilter.vignetteEnd = 1.2
  sourceImage?.addTarget(vignetteFilter)
  vignetteFilter.useNextFrameForImageCapture()
  sourceImage?.processImage()

  let newImage =  vignetteFilter.imageFromCurrentFramebuffer()

当前效应:

enter image description here

期望效果:

enter image description here

原始照片:

enter image description here

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

对于任何想要使用alpha添加晕影的人来说,当前的GPUImage目前不支持它。 Drew Wilson(https://github.com/drewwilson/GPUImage)有一个分支,它为过滤器添加了一个vignetteAlpha属性。这就像一个魅力。希望将来它会被添加到主分支中!