[swift] 이미지를 흑백으로 변환하기
이미지를 흑백으로 변환하는 방법에 대해 알아보겠습니다. Swift 언어를 사용하여 간단한 예제 코드를 작성해보겠습니다.
이미지 흑백으로 변환하기
아래의 코드는 UIImage를 흑백으로 변환하는 함수를 보여줍니다.
func convertToGrayScale(image: UIImage) -> UIImage? {
let imageRect = CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height)
let colorSpace = CGColorSpaceCreateDeviceGray()
let bitmapInfo = CGBitmapInfo(rawValue: CGImageAlphaInfo.none.rawValue)
guard let context = CGContext(data: nil, width: Int(image.size.width), height: Int(image.size.height), bitsPerComponent: 8, bytesPerRow: 0, space: colorSpace, bitmapInfo: bitmapInfo.rawValue) else {
return nil
}
context.draw(image.cgImage!, in: imageRect)
guard let grayScaleImage = context.makeImage() else {
return nil
}
return UIImage(cgImage: grayScaleImage)
}
위의 코드에서 convertToGrayScale
함수는 UIImage
를 매개변수로 받아 흑백으로 변환된 이미지를 반환합니다.
위 코드는 다음과 같은 단계를 거쳐 이미지를 흑백으로 변환합니다:
UIImage
객체의 사각형 영역을 설정합니다.CGColorSpaceCreateDeviceGray()
를 사용하여 흑백 색 공간을 만듭니다.CGContext
객체를 생성합니다.- 생성한
CGContext
객체를 사용하여 이미지를 그려줍니다. - 변환된 이미지를 생성하고 반환합니다.
사용 예시
아래는 이미지를 흑백으로 변환하는 방법을 사용하는 예시입니다.
let originalImage = UIImage(named: "original_image")
guard let grayScaleImage = convertToGrayScale(image: originalImage) else {
return
}
imageView.image = grayScaleImage
위의 예시 코드에서 originalImage
는 원본 이미지를 나타내는 UIImage
객체입니다. convertToGrayScale
함수를 호출하여 이미지를 흑백으로 변환하고, 변환된 이미지를 imageView
에 설정하여 표시합니다.
이제 이미지를 흑백으로 변환하는 간단한 예제를 작성하는 방법을 알게 되었습니다. 이를 기반으로 다양한 이미지 처리 기능을 구현할 수 있습니다.
참고 문서: Apple Developer Documentation