1
그래픽스
2
GDI (Graphical Device Interface)
1.
Windows 표준으로 임의의 응용프로그램에서 출력하는 데 필요한 모 든 것들을 지원하기 위한 구조체, 함수, 변수 및 상수들의 집합체
A. GDI의 주요 특징은 스케일링과 디바이스의 추상화
B. GDI+는 바로 GDI에 새로운 기능을 추가하고 기존의 기능을 최적화하여 향상된 기능을 제공
C. GDI+와 같은 그래픽 디바이스 인터페이스(GDI)를 사용하면 특정 디스플레이 장치의 세부 사항을 고려하지 않고도
화면이나 프린터에 정보를 표시할 수 있음
3
GDI (Graphical Device Interface)
1.
GDI+ 인터페이스는 약 60개 클래스, 50개 열거형과 8개 구조체 포함
A. Graphics 클래스는 GDI+ 기능의 핵심이며 선, 곡선, 그림, 이미지 및 텍 스트를 실제로 그리는 클래스
B. Point, Rectangle 구조체처럼 2차원 벡터 그래픽 기본 형식(선, 곡선 등) 에 대한 정보를 저장하는 클래스 및 구조체
C. Pen 클래스처럼 기본 형식을 그리는 데 필요한 정보(선 색, 선 너비 및 선 스타일 등)를 제공하는 클래스
D. 이미지를 위한 Bitmap 클래스
E. 다양한 글꼴, 크기 및 스타일로 텍스트를 표시하기 위한 클래스들
4
GDI (Graphical Device Interface)
1.
System.Drawing
5
Color 클래스
1.
alpha, red, green, blue 성분으로 생성
A. 모든 ARGB 컴포넌트는 정수 0부터 255까지
B. alpha 값은 색상의 투명도를 결정
C. 다양한 Color들이 정의되어 있음 (Color.___)
Structure
Color methods
and properties Description
공통 메소드
FromArgb 정적 메소드는 정수형 0-255의 값을 가지는 red, green, blue 기반의 색상을 생성 , alpha, red, green, blue로 표현이 가능함
FromName string으로 넘겨받은 Name으로부터 색상을 생성하는 정적 메소드 공통 프로퍼티
A 0-255까지 표현하는 byte, alpha 컴포넌트를 의미 R 0-255까지 표현하는 byte, red 컴포넌트를 의미 G 0-255까지 표현하는 byte, green 컴포넌트를 의미 B 0-255까지 표현하는 byte, blue 컴포넌트를 의미
6
그래픽스 – 도형 그리는 프로그램
1.
다음의 도형 종류를 지원하는 그림 그리는 프로그램을 개발하시오.
A. Line, Rectangle, Ellipse
2.
참고1)
Pens.Red, Pens.Blue …
3.
참고2) 다음 클래스 가능하면 활용 Point 클래스
Rectangle 클래스
Graphics graphics = CreateGraphics();
graphics.FillEllipse(new SolidBrush(penColor), e.X, e.Y, size, size);
graphics.Dispose();
Project: GraphicShape
7
그래픽스 – 도형 그리는 프로그램 (펜 설정)
1.
앞에서 개발한 프로그램에 펜의 색상, 두께, 종류를 설정하는 기능을 추가하시오.
2.
조건)
A. 펜 색상 설정: Color Dialog
B. 펜 두께 설정: TextBox
C. 펜 종류 설정: Solid, Dot, Dash Dot
Project: GraphicPen
8
그래픽스 – 도형 그리는 프로그램 (브러시 설정)
1.
앞에서 개발한 프로그램에 브러시를 설정하는 기능을 추가하시오.
2.
조건
A. Solid, Hatch 구현 후 Linear Gradient / Texture 구현
B. XXX.Dispose() 함수의 필요성 확인
Project: GraphicPenBrush using System.Drawing.Drawing2D
9
그래픽스 – 다각형 그리는 프로그램
1.
다음의 그림과 같이 다각형을 그리는 프로그램을 구현하시오.
2.
참조)
A. using System.Collections;
B. private ArrayList points = new ArrayList();
3.
Polygon 구현
4.
기능)
A. 마우스 좌측버튼 정점 추가
B. 마우스 우측버튼 정점 클리어
5.
Invalidate() 함수 소개
Project: GraphicPolygon
10
그래픽스 – 다각형 그리는 프로그램
1.
앞에서 개발한 프로그램에 도형의 종류를 Polygon, Curve, Spline을 추가하여 동작하도록 변경하시오.
2.
참조)
A. Spline은 점이 4개 인 경우만 곡선을 그리도록 함
Project: GraphicPolygonCurve