[swift] 이미지를 주황색으로 필터링하기

주황색 필터를 적용하기 위해서는 Core Image 프레임워크를 사용할 수 있습니다. Core Image는 이미지 관련 작업을 처리하기 위한 강력한 프레임워크로, 다양한 필터를 제공합니다.

먼저, Core Image 프레임워크를 import하고 이미지를 로드해야 합니다. 이를 위해 UIImage를 사용합니다.

import UIKit

// 이미지 로드
let originalImage = UIImage(named: "image.jpg")

// CIImage로 변환
let ciImage = CIImage(image: originalImage!)

이제 Core Image 필터를 생성하고 주황색 필터를 적용해보겠습니다. 여기서는 CIColorControls 필터를 사용합니다.

// 필터 생성
let orangeFilter = CIFilter(name: "CIColorControls")!

// 필터 파라미터 설정
orangeFilter.setValue(ciImage, forKey: kCIInputImageKey)
orangeFilter.setValue(1.0, forKey: kCIInputBrightnessKey)
orangeFilter.setValue(0.8, forKey: kCIInputSaturationKey)
orangeFilter.setValue(1.5, forKey: kCIInputContrastKey)

// 필터 적용
let filteredImage = orangeFilter.outputImage

마지막으로, 필터링된 이미지를 저장하거나 화면에 표시할 수 있습니다.

// UIImage로 변환
let context = CIContext(options: nil)
let filteredUIImage = UIImage(cgImage: context.createCGImage(filteredImage!, from: filteredImage!.extent)!)

// 화면에 표시
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 300, height: 300))
imageView.image = filteredUIImage

// 필터링된 이미지 저장
let fileURL = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("filtered_image.jpg")
try? context.writeJPEGRepresentation(of: filteredImage!, to: fileURL, colorSpace: CGColorSpaceCreateDeviceRGB(), options: [:])

이제 주황색으로 필터링된 이미지를 얻을 수 있습니다. Core Image 프레임워크를 활용하여 이미지를 필터링하는 방법을 알아보았습니다. 필요에 따라 다른 필터를 사용할 수도 있으니, 필터링에 대해 더 자세히 알고 싶다면 공식 문서를 참조하시기 바랍니다.

참고 문서: