본문 바로가기

Swift

Swift: Convert between CGImage, CIImage and UIImage

Swift에서 이미지 종류별로 변환하는 방법이 명쾌하게 설명된 사이트를 찾아서 여기에 기록한다.


출처: http://wiki.hawkguide.com/wiki/Swift:_Convert_between_CGImage,_CIImage_and_UIImage


사실 나는 이 자료를 UIImage를 CGImage로 변환하기 위해서 찾아왔는데 변환 방법이 간단하지 않아서 놀랐다.

Swift: Convert CIImage to CGImage

1
2
3
4
5
6
7
func convertCIImageToCGImage(inputImage: CIImage) -> CGImage! {
    let context = CIContext(options: nil)
    if context != nil {
        return context.createCGImage(inputImage, fromRect: inputImage.extent())
    }
    return nil
}

Swift: Convert CGImage to CIImage

1
2
3
4
func convertCGImageToCIImage(inputImage: CGImage) -> CIImage! {
   var ciImage = CIImage(CGImage: inputImage)
    return ciImage
}

Swift: Convert CGImage or CIImage to UIImage

1
2
UIImage(CGImage: cgImage)
UIImage(CIImage: ciImage)

Swift: Convert UIImage to CIImage

1
2
3
//uiImage: UIImage
//Convert to CIImage
var ciImage = CIImage(image: uiImage)

Swift: Convert UIImage to CGImage

To convert to CGImage, it requires 2 steps:

First convert to CIImage #Swift: Convert UIImage to CIImage.

Then convert to CGImage #Swift:_Convert_CIImage_to_CGImage

Swift: Convert CGImage to UIImage

UIImage.init(CGImage: cgimage)를 사용하면 된다.