[swift] Core Image를 사용하여 이미지를 회전시키는 방법은?

Core Image framework는 이미지 및 비디오를 처리하는데 사용되는 강력한 도구입니다. 이미지를 회전시키는 방법은 Core Image를 사용하여 비교적 간단하게 수행할 수 있습니다. 이를 위해 CIFilter를 사용합니다.

다음은 Core Image를 사용하여 이미지를 45도 회전하는 방법에 대한 예제입니다.

먼저, CIImage 인스턴스를 생성합니다. 그런 다음 CIFilter를 사용하여 이미지를 회전시키고 결과 이미지를 얻습니다. 마지막으로 회전된 이미지를 UIImage로 가져올 수 있습니다.

아래는 Swift 코드 예시입니다.

import UIKit

// 1. 원본 이미지 생성
let originalImage = UIImage(named: "example.jpg")
let ciImage = CIImage(image: originalImage)

// 2. CIFilter를 사용하여 이미지 회전
let filter = CIFilter(name: "CIAffineTransform")
filter?.setValue(ciImage, forKey: kCIInputImageKey)
let transform = CGAffineTransform(rotationAngle: CGFloat.pi / 4) // 45도 회전
filter?.setValue(NSValue(cgAffineTransform: transform), forKey: kCIInputTransformKey)

// 3. 회전된 이미지를 얻기
if let outputCIImage = filter?.outputImage {
    let context = CIContext(options: nil)
    if let outputCGImage = context.createCGImage(outputCIImage, from: outputCIImage.extent) {
        let rotatedImage = UIImage(cgImage: outputCGImage)
        // 회전된 이미지를 사용
    }
}

위의 코드에서 “example.jpg”는 회전할 대상 이미지의 파일 이름으로 대체되어야 합니다.

이 예제는 Core Image를 사용하여 이미지를 회전하는 간단한 방법을 보여줍니다. 필요에 따라 회전 각도 및 다른 속성을 변경하여 사용할 수 있습니다.

더 많은 정보 및 CIFilter에 대한 다른 옵션에 대해서는 Apple 개발자 문서를 참조하십시오.