添加不透明度的 GPUImage 晕影过滤器

Adding GPUImage Vignette Filter with Opacity

我正在尝试使用 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()

当前效果:

期望的效果:

原图:

如有任何帮助,我们将不胜感激!

对于任何想用 alpha 添加小插图的人来说,当前的 GPUImage 目前不支持它。 Drew Wilson (https://github.com/drewwilson/GPUImage) 有一个分支,它向过滤器添加了一个 vignetteAlpha 属性。这就像一个魅力。希望以后能加入主分支!