2016-11-17 96 views
0

我正在尝试使用GPUImage在图像上创建效果。我正在为图像添加一个小插图来制作一个Instagram启发的滤镜。目前我正在使用GPUImageVignetteFilter来实现这一点。该过滤器的作品,但我正在寻找一种方法来减少这个过滤器的不透明度,或混合类似于Photoshop效果。当前代码:添加带有不透明度的GPUImage暗角过滤器

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

任何帮助,将不胜感激!

回答

0

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