Вы также можете расширить 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 в целом?
Любой из других методов недостаточно подробно описывает, какой код следует использовать.