반응형
UIImage 를 흑백으로 변환하는 법
extension UIImage {
func convertToGrayScale() -> UIImage {
let context = CIContext(options: nil)
if let currentFilter = CIFilter(name: "CIPhotoEffectTonal") {
let input = CIImage(image: self)
currentFilter.setValue(input, forKey: kCIInputImageKey)
if let output = currentFilter.outputImage, let cgImage = context.createCGImage(output, from: output.extent) {
return UIImage(cgImage: cgImage)
}
}
return self
}
}
사용할 수 있는 CIFilter 에는 여러가지가 있는데 다음은 Mono, Noir, Tonal 을 순서대로 사용한 예시 결과물이다.
참고 : https://stackoverflow.com/questions/40178846/convert-uiimage-to-grayscale-keeping-image-quality
728x90
반응형
'Swift iOS 앱 개발 > 실전 Swift' 카테고리의 다른 글
[Swift iOS] UILabel Gradient color (+ SwiftUI gradient text) (0) | 2024.01.25 |
---|---|
[Swift iOS] Color setting (0) | 2023.06.08 |
UIKit (0) | 2023.05.23 |
[Swift iOS] 이미지 캐시 처리 Memory vs. Disk (1) | 2023.04.24 |
[Swift iOS] 네이버 지도 API 사용하기 (0) | 2023.04.13 |