• 검색 결과가 없습니다.

그래픽스그래픽스

N/A
N/A
Protected

Academic year: 2022

Share "그래픽스그래픽스"

Copied!
10
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

1

그래픽스

(2)

2

GDI (Graphical Device Interface)

1.

Windows 표준으로 임의의 응용프로그램에서 출력하는 데 필요한 모 든 것들을 지원하기 위한 구조체, 함수, 변수 및 상수들의 집합체

A. GDI의 주요 특징은 스케일링과 디바이스의 추상화

B. GDI+는 바로 GDI에 새로운 기능을 추가하고 기존의 기능을 최적화하여 향상된 기능을 제공

C. GDI+와 같은 그래픽 디바이스 인터페이스(GDI)를 사용하면 특정 디스플레이 장치의 세부 사항을 고려하지 않고도

화면이나 프린터에 정보를 표시할 수 있음

(3)

3

GDI (Graphical Device Interface)

1.

GDI+ 인터페이스는 약 60개 클래스, 50개 열거형과 8개 구조체 포함

A. Graphics 클래스는 GDI+ 기능의 핵심이며 선, 곡선, 그림, 이미지 및 텍 스트를 실제로 그리는 클래스

B. Point, Rectangle 구조체처럼 2차원 벡터 그래픽 기본 형식(선, 곡선 등) 에 대한 정보를 저장하는 클래스 및 구조체

C. Pen 클래스처럼 기본 형식을 그리는 데 필요한 정보(선 색, 선 너비 및 선 스타일 등)를 제공하는 클래스

D. 이미지를 위한 Bitmap 클래스

E. 다양한 글꼴, 크기 및 스타일로 텍스트를 표시하기 위한 클래스들

(4)

4

GDI (Graphical Device Interface)

1.

System.Drawing

(5)

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)

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)

7

그래픽스 – 도형 그리는 프로그램 (펜 설정)

1.

앞에서 개발한 프로그램에 펜의 색상, 두께, 종류를 설정하는 기능을 추가하시오.

2.

조건)

A. 펜 색상 설정: Color Dialog

B. 펜 두께 설정: TextBox

C. 펜 종류 설정: Solid, Dot, Dash Dot

Project: GraphicPen

(8)

8

그래픽스 – 도형 그리는 프로그램 (브러시 설정)

1.

앞에서 개발한 프로그램에 브러시를 설정하는 기능을 추가하시오.

2.

조건

A. Solid, Hatch 구현 후 Linear Gradient / Texture 구현

B. XXX.Dispose() 함수의 필요성 확인

Project: GraphicPenBrush using System.Drawing.Drawing2D

(9)

9

그래픽스 – 다각형 그리는 프로그램

1.

다음의 그림과 같이 다각형을 그리는 프로그램을 구현하시오.

2.

참조)

A. using System.Collections;

B. private ArrayList points = new ArrayList();

3.

Polygon 구현

4.

기능)

A. 마우스 좌측버튼 정점 추가

B. 마우스 우측버튼 정점 클리어

5.

Invalidate() 함수 소개

Project: GraphicPolygon

(10)

10

그래픽스 – 다각형 그리는 프로그램

1.

앞에서 개발한 프로그램에 도형의 종류를 Polygon, Curve, Spline을 추가하여 동작하도록 변경하시오.

2.

참조)

A. Spline은 점이 4개 인 경우만 곡선을 그리도록 함

Project: GraphicPolygonCurve

참조

관련 문서

서로 다른 클래스 객체들 사이의 대입 상속 관계인 객체와 포인터의 관계 가상 함수.. 가상

즉 , 이벤트 처리용 리스너 클래스 작성시 리스너 인터페이스 를 이용한 것이 아니라, 어댑터 클래스를 이용함으로써 불필 요한 코드를 줄일 수

 관계된 개체 클래스들이 관계성을 통해 하나의 릴레이션 으로 합병.  개체 클래스 Employee와 Store가 Manages 관계성을 통해

• 애플리케이션의 여러 자원들과 메인 프레임 클래스, View 클래스, Document 클래스 등을 하나의 묶 음으로 가지는

 실세계(real world)의 개념을 빌려서 생겨난 소프트웨어의 개념은 많 이 있지만, 객체지향이라는 것은 실세계의 개념구조를 그대로 소프 트웨어 구조로 바꾸고 싶다는 요구에

[r]

window 클래스(기본 윈도우) -> application 클래스(기본 메인 윈도우) window 클래스(기본 윈도우) -> childWindow 클래스(기본 자식 윈도우) 자식 클래스는 멤버 변수나

 클래스는 필드와 메소드로