[swift] Swift에서 다양한 이미지 효과를 적용하여 아이콘을 꾸미는 방법

iOS 앱을 개발하다보면 종종 아이콘을 꾸미는 필요성을 느끼게 됩니다. Swift에서는 다양한 이미지 효과를 적용할 수 있는 기능을 제공합니다. 이번 글에서는 Swift를 사용하여 아이콘을 꾸미는 방법에 대해 알아보겠습니다.

1. 이미지에 둥근 모서리 적용하기

먼저, 이미지에 둥근 모서리를 적용하는 방법을 알아보겠습니다. 이를 위해서는 CALayer 클래스를 사용해야 합니다.

let imageView = UIImageView(image: UIImage(named: "icon")) // 아이콘 이미지 생성
imageView.layer.cornerRadius = 10 // 둥근 모서리의 반지름 설정
imageView.clipsToBounds = true // 이미지를 둥근 모서리에 맞게 자르기

이렇게 하면 imageView에 둥근 모서리가 적용되어 보다 멋진 아이콘이 생성됩니다.

2. 이미지 필터 적용하기

다음으로, 이미지에 필터를 적용하는 방법을 알아보겠습니다. Swift에서는 CoreImage 프레임워크를 사용하여 이미지 필터를 적용할 수 있습니다.

let filter = CIFilter(name: "CISepiaTone") // 세피아 효과 필터 생성
let inputImage = CIImage(image: UIImage(named: "icon")) // 아이콘 이미지를 CIImage로 변환
filter?.setValue(inputImage, forKey: kCIInputImageKey) // 이미지를 필터에 입력값으로 설정

if let outputImage = filter?.outputImage {
    let context = CIContext(options: nil)
    let cgImage = context.createCGImage(outputImage, from: outputImage.extent)
    let filteredImage = UIImage(cgImage: cgImage!)
    
    imageView.image = filteredImage // 필터 적용된 이미지를 imageView에 할당
}

위 코드에서는 세피아 효과 필터를 생성하고, 아이콘 이미지를 CIImage로 변환한 뒤 필터에 입력값으로 설정합니다. 그리고 필터를 적용하여 새로운 이미지를 생성한 후, 이를 imageView에 할당합니다.

3. 이미지 알파값 조정하기

마지막으로, 이미지의 알파값을 조정하여 투명도 효과를 적용하는 방법을 알아보겠습니다.

extension UIImage {
    func alpha(_ value: CGFloat) -> UIImage? {
        UIGraphicsBeginImageContextWithOptions(size, false, scale)
        
        draw(at: .zero, blendMode: .normal, alpha: value)
        
        let newImage = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        
        return newImage
    }
}

let originalImage = UIImage(named: "icon") // 아이콘 이미지 로드
let alphaImage = originalImage?.alpha(0.5) // 알파값 조정하여 새로운 이미지 생성

imageView.image = alphaImage // 알파값 조정된 이미지를 imageView에 할당

위 코드에서는 UIImagealpha 메서드를 추가하여 알파값 조정을 쉽게 할 수 있도록 합니다. 이를 사용하여 알파값이 조정된 이미지를 생성하고, 이를 imageView에 할당합니다.

참고자료