Вы также можете расширить UIImage для возврата изображения в градациях серого:

тоящее время я делаю приложение для редактирования фотографий.

Когда фотография выбирается пользователем, она автоматически конвертируется в черно-белое с использованием этого кода:

func blackWhiteImage(image: UIImage) -> Data {
    print("Starting black & white")

    let orgImg = CIImage(image: image)
    let bnwImg = orgImg?.applyingFilter("CIColorControls", withInputParameters: [kCIInputSaturationKey:0.0])

    let outputImage = UIImage(ciImage: bnwImg!)

    print("Black & white complete")

    return UIImagePNGRepresentation(outputImage)!
}

Проблема с этим кодом заключается в том, что я получаю эту ошибку:

fatal error: unexpectedly found nil while unwrapping an Optional value

У меня был мой код в немного другой конфигурации, но он все еще ломается, когда добирается доUIImagePNG/JPEGRepresentation(xx) раздел.

Есть ли способы получить данные PNG или JPEG из CIImage для использования в представлении изображения / просто в UIImage в целом?

Любой из других методов недостаточно подробно описывает, какой код следует использовать.

Ответы на вопрос(1)

Ваш ответ на вопрос