[swift] Swift Core Graphics의 이미지 변환 기능
Swift Core Graphics는 iOS 및 macOS 앱에서 이미지를 다루고 변환하는 데 사용되는 강력한 도구입니다. 이미지의 크기, 회전, 투명도 및 다른 속성을 조절하기 위해 Core Graphics를 사용할 수 있습니다.
본 포스트에서는 Swift를 사용하여 Core Graphics를 활용하여 이미지를 변환하는 방법을 알아보겠습니다.
이미지 회전하기
이미지를 회전시키는 것은 Core Graphics에서 쉽게 할 수 있습니다. 다음은 이미지를 90도로 회전하는 예제 코드입니다.
import UIKit
func rotateImage(_ image: UIImage, by degrees: CGFloat) -> UIImage? {
let radians = degrees * CGFloat.pi / 180
let rotatedSize = image.size
let scale = UIScreen.main.scale
UIGraphicsBeginImageContextWithOptions(rotatedSize, false, scale)
let bitmap = UIGraphicsGetCurrentContext()
bitmap?.translateBy(x: rotatedSize.width / 2, y: rotatedSize.height / 2)
bitmap?.rotate(by: radians)
image.draw(in: CGRect(x: -image.size.width / 2, y: -image.size.height / 2, width: rotatedSize.width, height: rotatedSize.height))
let rotatedImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return rotatedImage
}
이미지 크기 조절하기
이미지의 크기를 조절하는 것도 간단합니다. 다음은 이미지의 크기를 50%로 조절하는 예제 코드입니다.
func resizeImage(_ image: UIImage, to size: CGSize) -> UIImage? {
UIGraphicsBeginImageContext(size)
image.draw(in: CGRect(origin: .zero, size: size))
let resizedImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return resizedImage
}
이미지 투명도 조절하기
이미지의 투명도를 조절하여 불투명하게 하거나 반투명하게 만들 수 있습니다. 다음은 이미지의 투명도를 조절하는 예제 코드입니다.
func adjustImageOpacity(_ image: UIImage, withAlpha alpha: CGFloat) -> UIImage? {
UIGraphicsBeginImageContext(image.size)
image.draw(at: .zero, blendMode: .normal, alpha: alpha)
let adjustedImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return adjustedImage
}
Core Graphics를 활용하여 이미지를 변환하는 방법에 대해 간단히 살펴보았습니다. Core Graphics에 대한 자세한 정보는 Apple 공식 문서를 참고하시기 바랍니다.