2016-11-17 1 views
0

GPUImage를 사용하여 이미지에 효과를 만들려고합니다. 이미지에 비 네트를 추가하여 Instagram에서 영감을 얻은 필터를 만듭니다. 현재 나는 이것을 달성하기 위해 GPUImageVignetteFilter를 사용하고 있습니다. 필터가 작동하지만이 필터의 불투명도를 줄이거 나 포토샵 효과와 비슷한 방법으로 혼합하는 방법을 찾고 있습니다. 현재 코드 :불투명도가있는 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

원본 사진 :

enter image description here

도움이 될 것입니다.

답변

0

알파와 함께 비 네트를 추가하려는 사람은 현재 현재 GPUImage에서 지원되지 않습니다. 필터에 vignetteAlpha 속성을 추가하는 Drew Wilson (https://github.com/drewwilson/GPUImage)의 포크가 있습니다. 이것은 매력처럼 작동했습니다. 바라건대 미래의 메인 브랜치에 추가되기를 희망합니다!

관련 문제