IOS Cifilter отключает красный канал и смешивание с использованием Ciscreenblendmode дает другой результат, чем PhotoshoIOS

Программируем под IOS
Ответить
Anonymous
 IOS Cifilter отключает красный канал и смешивание с использованием Ciscreenblendmode дает другой результат, чем Photosho

Сообщение Anonymous »

Использование ios cifilter , я пытаюсь воссоздать эффект сбоя из Photoshop, показанного в этом видео:
образное изображение. src = "https://i.sstatic.net/mh98yopb.png"/>
В начале видео человек сначала дегарганирует изображение, чтобы сделать его серого. Затем создает копию этого слоя. Затем отключает красный канал на этом слое. Затем немного сдвигает его влево, чтобы получить этот взгляд на отметку 55 секунды:

Это должно быть легко с Cifilter . Я сделал ниже: < /p>

Код: Выделить всё

if let image = UIImage(named: "demo13"), let editted = applyGlitchEffect(to: image) {
imageView.image = editted
}

func applyGlitchEffect(to image: UIImage) -> UIImage? {
guard let ciImage = CIImage(image: image) else { return nil }
let context = CIContext(options: nil)

let grayscaleFilter = CIFilter(name: "CIColorControls", parameters: [
kCIInputImageKey: ciImage,
kCIInputSaturationKey: 0.0
])

let noRedChannel = CIFilter(name: "CIColorMatrix", parameters: [
kCIInputImageKey: grayscaleFilter?.outputImage as Any,
"inputRVector": CIVector(x: 0, y: 0, z: 0, w: 0)
])

let shifted = noRedChannel?.outputImage?.transformed(by: CGAffineTransform(translationX: -20, y: 0))

let blended = CIFilter(name: "CIScreenBlendMode")
blended?.setValue(shifted, forKey: kCIInputImageKey)
blended?.setValue(grayscaleFilter?.outputImage as Any, forKey: kCIInputBackgroundImageKey)

if let finalOutput = blended?.outputImage, let cgImage = context.createCGImage(finalOutput, from: ciImage.extent) {
return UIImage(cgImage: cgImage)
}

return nil
}
Это дает мне приведенный ниже результат:

Как вы видите, мой результат аналогичен одному в видео. Тем не менее, мой образ по какой -то причине имеет голубовато -оттенок. Принимая во внимание, что в видео представлен серого цвета с переключенными красными и черными по краям. I did try a few other blend modes but didn't get similar result.
I looked up what blend mode Photoshop uses and according to this:
https://helpx.adobe.com/photoshop/using ... modes.html
the default is "Normal: Edits or paints each pixel to make it цвет результата. Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/795 ... e-gives-di
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»