[swift] 이미지 슬라이드쇼에서 이미지 흑백 효과 적용하기

스위프트(Swift)를 사용하여 이미지 슬라이드쇼에서 이미지에 흑백 효과를 적용하는 방법을 알아보겠습니다.

1. 이미지 뷰 생성

먼저, 이미지를 보여줄 UIImageView를 만들어야 합니다.

let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
self.view.addSubview(imageView)

위 코드는 200x200 크기의 UIImageView를 생성하고, 현재 뷰에 추가하는 방법을 보여줍니다.

2. 이미지 로드

이미지를 로드하여 UIImageView에 표시해야 합니다. 예를 들어, UIImage(named: "image.jpg")와 같은 방법으로 로컬 이미지를 사용할 수 있습니다. 또는 인터넷에서 이미지를 다운로드하여 사용할 수도 있습니다.

let image = UIImage(named: "image.jpg")
imageView.image = image

위 코드는 ‘image.jpg’라는 이름의 이미지를 로드하여 UIImageView에 표시하는 방법을 보여줍니다.

3. 흑백 효과 적용

이제 UIImageView에 흑백 효과를 적용할 차례입니다.

extension UIImage {
    func convertToGrayScale() -> UIImage? {
        let context = CIContext(options: nil)
        if let filter = CIFilter(name: "CIPhotoEffectMono") {
            filter.setValue(CIImage(image: self), forKey: kCIInputImageKey)
            if let output = filter.outputImage,
                let cgImage = context.createCGImage(output, from: output.extent) {
                return UIImage(cgImage: cgImage)
            }
        }
        return nil
    }
}

imageView.image = image?.convertToGrayScale()

위 코드는 UIImage를 확장하여 흑백 이미지를 생성하는 convertToGrayScale 메서드를 추가합니다. CIFilter를 사용하여 효과를 적용하고, CIContext를 사용하여 이미지를 생성합니다. 마지막으로 UIImageView에 표시합니다.

정리

이제 이미지 슬라이드쇼에서 이미지에 흑백 효과를 적용하는 방법을 알게 되었습니다. UIImageView를 생성하고 이미지를 로드한 후, 흑백 효과를 적용하는 UIImage의 확장 메서드를 사용하여 효과를 적용할 수 있습니다.

이외에도 다양한 이미지 효과를 적용하는 방법이 있으니, 참고 자료를 찾아보시면 더 다양한 효과를 적용할 수 있습니다.

참고 자료