Graphic Context

m..m·2022년 6월 14일
0

UIKit

목록 보기
2/2

공식문서 번역

Graphic Contexts

Graphic Context는 그리기의 대상을 나타냄. 그리기 파라미터와 이후 그리기를 수행하는데 필요한 모든 장치별 정보가 들어가 있음. Graphic context는 그릴 때 사용할 색상, 영역, 선 너비 및 스타일 정보, 폰트 정보, 합성 옵션 등등을 정의함.

Quartz context 생성 기능을 사용하거나, Mac OS X 프레임웤, iOS의 UIKit 프레임웍에서 제공되는 기능을 사용하여 Graphic Context를 얻을 수 있음. Quartz는 bitmap과 pdf를 포함한 사용자 정의 콘텐트를 만드는데 사용할 수 있는 다양한 기능들을 제공함.

Graphic context는 CGContextRef 데이터 타입으로 코드에 표시됨. context를 가져온 후에는 Quartz 2D 함수를 사용해 context에 그림 그리고, 변환과 같은 작업을 수행하거나 선 너비 및 fill 색상과 같은 그래픽 상태 변수들을 변경 할 수 있음.

Drawing to a View Graphics Context in iOS

iOS 어플리케이션 화면에 그리기 위해선, UIView 객체와 drawRect: 메소드를 구현해야 함. view의 drawRect: 메소드는 view가 화면에 보일 수 있고 콘텐트가 업데이트 되야 할 때 호출됨. drawRect: 메소드 호출 전에, view 객체는 자동적으로 그리기 환경을 설정하기 때문에 작성된 코드는 그리기를 바로 시작할 수 있음. 설정의 일부분으로, UIView 객체는 현재 그리기 환경의 graphic context를 생성함(CGContextRef 타입). drawRect: 메소드 안에서 UIKit의 UIGraphicsGetCurrentContext 함수를 호출함으로써 graphic context를 얻을 수 있음

UIKit의 기본 좌표 시스템은 Quartz에서 사용되는 것과 다름. UIKit의 원점은 좌상 코너이고, 양의 y방향은 아래방향임. UIView객체는 원점을 view의 좌상 코너로 변환하고, y축에 -1를 곱해 UIKit에 맞게 Quartz graphic context의 CTM을 수정함. 수정된 좌표계 및 코드 구현에 대한 자세한 내용은 이쪽으로.

0개의 댓글