[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 프레임워크를 사용하여 더욱 다양한 그래픽 작업을 할 수 있습니다. 이를 응용하여 사용자 정의 그래픽 요소나 이미지를 조작할 수 있습니다.

참고 자료