我正在尝试使用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()
当前效应:
期望效果:
原始照片:
任何帮助将不胜感激!
答案 0 :(得分:1)
对于任何想要使用alpha添加晕影的人来说,当前的GPUImage目前不支持它。 Drew Wilson(https://github.com/drewwilson/GPUImage)有一个分支,它为过滤器添加了一个vignetteAlpha属性。这就像一个魅力。希望将来它会被添加到主分支中!