[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의 확장 메서드를 사용하여 효과를 적용할 수 있습니다.
이외에도 다양한 이미지 효과를 적용하는 방법이 있으니, 참고 자료를 찾아보시면 더 다양한 효과를 적용할 수 있습니다.
참고 자료
- Apple Developer Documentation - Core Image
- Apple Developer Documentation - CIFilter
- SwiftUI by Example - Adding filters to images