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. Существует вилка Дрю Уилсона (https://github.com/drewwilson/GPUImage), которая добавляет свойство виньеткиAlpha к фильтру. Это работало как прелесть. Надеюсь, он будет добавлен в главный филиал в будущем!

Смежные вопросы