添加不透明度的 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 属性。这就像一个魅力。希望以后能加入主分支!
我正在尝试使用 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 属性。这就像一个魅力。希望以后能加入主分支!