[swift] CoreGraphics 그래픽 사용 예시
CoreGraphics는 iOS와 macOS 앱에서 그래픽을 그리고 이미지를 조작하는 데 사용되는 강력한 프레임워크입니다. 이 프레임워크를 사용하여 그래픽 요소를 그리고 이미지를 생성할 수 있습니다.
이번 예시에서는 CoreGraphics를 사용하여 UIView에 도형을 그리는 방법에 대해 알아보겠습니다.
도형 그리기
우선 CoreGraphics 프레임워크를 임포트하여 UIView의 draw(_:) 메서드 내에서 도형을 그릴 수 있습니다. 다음은 원을 그리는 예시 코드입니다.
import UIKit
class MyCustomView: UIView {
override func draw(_ rect: CGRect) {
let context = UIGraphicsGetCurrentContext()
context?.setFillColor(UIColor.blue.cgColor)
context?.fillEllipse(in: CGRect(x: 50, y: 50, width: 100, height: 100))
}
}
위 코드에서 UIGraphicsGetCurrentContext()
메서드를 사용하여 현재 그래픽 컨텍스트를 가져와 fillEllipse
메서드를 사용하여 원을 그렸습니다.
이미지 생성
CoreGraphics를 사용하여 이미지를 생성할 수도 있습니다. 다음은 이미지를 생성하는 예시 코드입니다.
func createImage() -> UIImage? {
let size = CGSize(width: 100, height: 100)
UIGraphicsBeginImageContextWithOptions(size, false, 0.0)
if let context = UIGraphicsGetCurrentContext() {
context.setFillColor(UIColor.red.cgColor)
context.fill(CGRect(origin: .zero, size: size))
}
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
위 코드에서 UIGraphicsBeginImageContextWithOptions()
를 사용하여 이미지 컨텍스트를 생성하고, 이후에 그 안에 원하는 그림을 그린 후 UIGraphicsGetImageFromCurrentImageContext()
를 사용하여 이미지를 가져옵니다.
CoreGraphics 프레임워크를 사용하여 더욱 다양한 그래픽 작업을 할 수 있습니다. 이를 응용하여 사용자 정의 그래픽 요소나 이미지를 조작할 수 있습니다.