Converting UIImage, CIImage and CGImage to each other.

ios dev·2021년 9월 14일
1

UIImage?

  • 앱에서 이미지 데이터관리하는 객체입니다.
  • 이미지 객체를 사용하여 모든 종류의 이미지 데이터를 나타내며, UIImage 클래스는 기본 플랫폼에서 지원하는 모든 이미지 형식에 대한 데이터관리할 수 있습니다.

CIImage?

  • Core Image 필터에서 처리하거나 생성할 이미지의 표현입니다.
  • CIImage는 이미지 데이터를 가지고 있지만 이미지가 아니다.
    CIImage이미지를 생성하는 데 필요한 모든 정보를 가지고 있지만, 실제로 이미지를 렌더링하지 않는다.

CGImage?

  • 비트맵 이미지 또는 이미지 마스크.

UIImage to CIImage

// uiImage: UIImage
let ciImage = CIImage(image: uiImage)

UIImage to CGImage

  1. CIImage로 변환한다.
  2. CIImage를 CGImage로 변환한다.

CIImage to CGImage

let ciContext = CIContext(options: nil)
let cgImage = ciContext.createCGImage(ciImage, from: ciImage.extent)

CGImage to CIImage

// cgImage: CGImage
let ciImage = CIImage(cgImage: cgImage)

CIImage or CGImage to UIImage

// ciImage: CIImage
let uiImage = UIImage(ciImage: ciImage)

// cgImage: CGImage
let uiImage = UIImage(cgImage: cgImage)




cf.
https://developer.apple.com/documentation/uikit/uiimage/
https://developer.apple.com/search/?q=CIImage
https://developer.apple.com/search/?q=CGImage
http://wiki.hawkguide.com/wiki/Swift:_Convert_between_CGImage,_CIImage_and_UIImage

0개의 댓글