[swift] 이미지를 블러 처리하기

이미지 블러(Blur)는 이미지의 일부 또는 전체를 흐릿하게 만드는 효과입니다. 블러 처리는 이미지를 흐릿하게 만들어주므로 주변 요소와의 대비를 줄이고 부드러운 분위기를 연출할 수 있습니다.

이번에는 Swift 언어를 사용하여 이미지를 블러 처리해보겠습니다.

1. UIImage 확장 (UIImage Extension)

UIImage 확장을 통해 이미지를 블러 처리할 수 있는 메서드를 추가하겠습니다.

extension UIImage {
    func blur(radius: CGFloat) -> UIImage? {
        let context = CIContext(options: nil)
        guard let ciImage = CIImage(image: self) else { return nil }
        
        let filter = CIFilter(name: "CIGaussianBlur")
        filter?.setValue(ciImage, forKey: kCIInputImageKey)
        filter?.setValue(radius, forKey: kCIInputRadiusKey)
        
        guard let outputImage = filter?.outputImage else { return nil }
        
        let cgImage = context.createCGImage(outputImage, from: ciImage.extent)
        let blurredImage = UIImage(cgImage: cgImage!)
        
        return blurredImage
    }
}

위의 코드는 UIImage에 blur 메서드를 추가하는 확장(extension)입니다. Core Image 프레임워크를 사용하여 이미지를 블러 처리하기 위해 CIContext와 CIFilter를 사용합니다.

2. 이미지 블러 처리하기

이제 UIImage의 blur 메서드를 사용하여 이미지를 블러 처리해보겠습니다.

guard let image = UIImage(named: "sample") else { return }

let blurredImage = image.blur(radius: 10.0)

// 블러 처리된 이미지를 사용해 작업

위의 예제 코드는 “sample”이라는 이름의 이미지를 불러와서 blur 메서드를 사용하여 블러 처리한 후, blurredImage에 할당하는 코드입니다. 이렇게 블러 처리된 이미지를 사용하여 원하는 작업을 진행할 수 있습니다.

3. 결과 확인하기

위의 코드를 실행하고 결과를 확인해보세요. 이미지가 흐릿하게 처리되는 것을 확인할 수 있을 것입니다.

블러 처리는 이미지 처리에 유용한 효과 중 하나로, 사용자 인터페이스 디자인에서 많이 사용됩니다. 적절한 블러 효과를 사용하여 앱의 인터페이스를 더욱 감각적이고 흥미로운 디자인으로 만들어보세요!