[swift] Swift에서 Core Image를 이용하여 이미지 필터링하는 방법은?

Swift에서 Core Image 프레임워크를 사용하여 이미지 필터링을 수행하는 것은 간단하고 효과적입니다. Core Image를 사용하면 다양한 이미지 필터를 쉽게 적용할 수 있으며, 이미지를 수정하고 조작하는 데 유용한 다양한 도구를 제공합니다.

Core Image 프레임워크 추가하기

먼저, 프로젝트에 Core Image 프레임워크를 추가해야 합니다. Xcode 프로젝트를 열고, 프로젝트 탐색기에서 “General” 탭으로 이동합니다. “Linked Frameworks and Libraries” 섹션에 “+” 버튼을 클릭하고 CoreImage.framework를 추가합니다.

이미지 필터링 코드 작성하기

다음으로, 이미지 필터링을 수행하는 코드를 작성해야 합니다. 예를 들어, “Sepia” 필터를 적용하는 방법은 다음과 같습니다.

import CoreImage

if let image = CIImage(image: yourUIImage) {
    let filter = CIFilter(name: "CISepiaTone")
    filter?.setValue(image, forKey: kCIInputImageKey)
    
    if let outputImage = filter?.outputImage {
        let context = CIContext(options: nil)
        if let cgImage = context.createCGImage(outputImage, from: outputImage.extent) {
            let filteredImage = UIImage(cgImage: cgImage)
            // 필터링된 이미지 사용하기
        }
    }
}

위의 코드에서 yourUIImage는 필터링할 UIImage 객체를 가리킵니다. 이 코드는 “Sepia” 필터를 사용하여 원본 이미지를 필터링하고, 필터링된 이미지를 가져와서 사용하는 방법을 보여줍니다.

다양한 필터 적용하기

Core Image에는 다양한 필터가 내장되어 있으며, 여러 가지 효과를 적용할 수 있습니다. 예를 들어, “CIPhotoEffectMono” 필터로 이미지를 흑백으로 만들거나, “CIGaussianBlur” 필터로 이미지를 흐리게 만들 수 있습니다.

Swift에서 Core Image를 사용하여 이미지를 필터링하는 방법을 알아보았습니다. 이를 통해 간단한 코드로 다양한 이미지 필터를 적용할 수 있습니다.

참고 자료: Apple Developer 문서 - Core Image Programming Guide

Apple Developer 문서 - Core Image Filter Reference

Ray Wenderlich - Core Image Tutorial: Getting Started