[swift] Swift에서 Core Image를 사용하여 이미지에 그림자 효과를 적용하는 방법은?
Core Image framework는 이미지 처리를 위한 강력한 도구를 제공합니다. 이미지에 그림자 효과를 적용하는 것은 Core Image의 CIFilter를 사용하여 간단하게 수행할 수 있습니다.
1. 이미지 가져오기
먼저, 이미지를 가져와야 합니다. 프로젝트에 이미지를 추가하고, 해당 이미지를 사용할 ViewController에 이미지를 가져온 후, 이미지 뷰에 표시합니다.
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
if let image = UIImage(named: "yourImage") {
imageView.image = image
}
}
}
2. CIFilter를 사용하여 그림자 효과 적용
Core Image의 CIFilter를 사용하여 그림자 효과를 적용합니다. CIFilter(name:)
를 사용하여 "CIShadow"
필터를 생성하고, 필터의 속성을 설정합니다.
import CoreImage
func addShadowEffect(to image: UIImage) -> UIImage? {
if let ciImage = CIImage(image: image) {
let filter = CIFilter(name: "CIShadow")
filter?.setDefaults()
filter?.setValue(ciImage, forKey: kCIInputImageKey)
filter?.setValue(5.0, forKey: "inputRadius")
filter?.setValue(3.0, forKey: "inputOpacity")
if let outputImage = filter?.outputImage {
let context = CIContext(options: nil)
if let cgImage = context.createCGImage(outputImage, from: outputImage.extent) {
return UIImage(cgImage: cgImage)
}
}
}
return nil
}
// 이미지에 그림자 효과를 적용
if let originalImage = UIImage(named: "yourImage") {
if let imageWithShadow = addShadowEffect(to: originalImage) {
// 작업 완료된 이미지를 표시
}
}
위 코드에서 inputRadius
와 inputOpacity
값을 조절하여 그림자 효과의 크기와 투명도를 조절할 수 있습니다.
이제 Swift에서 Core Image를 사용하여 이미지에 그림자 효과를 적용하는 방법을 익혔습니다. 여기서는 CIShadow
필터를 사용하였지만, Core Image에는 다양한 필터가 제공되므로 필요에 따라 다른 필터를 적용할 수도 있습니다.