GDI+ 란 class 기준으로 제작한 C/C++ 프로그래머들을 위한 API이다.
제작하는 방법은 다양하지만, MFC 기반으로 제작을 하게 되지만, API
함수를 부르는 형태로 구성하기도 한다.
MFC7.0 에서는 자동적으로 부르게 되어 있지만, MFC4.2에서는 아직
본격적 지원은 하지 않는다.
GDI+ 는 WindowsXP와 Window2003에서는 자체적으로 포함되어 있으며, Windows NT 4.0 SP6, Windows 2000, Window98/ME 등에서는 설치를 해서 처리하게 된다. 실행시에는 System 폴더 안에, Gdiplus.dll 이 있으면 된다.
GDI+는 크게 3가지 부분으로 구성되어 있다.
- 2D Vector graphic
점/선/상자/색칠 등의 기능을 사용하는 기능으로 일반적인 그림 그리기의 기능을 의미하게 된다.
- 이미지 처리
각종 디지털 사진들의 처리라든가, 특정 컴포넌트에서 표현하기 힘든 그리기 기능들을 적용할 때 이용되는 기술이다.
- 글자처리
폰트에 관련되어 출력하게 되는 처리에 대한 기술
이 GDI+ 의 구성은 40여개의 클래스와 50여개의 나열자, 6개의 구조체로 구성된다. 그 중 Class로 구성되지 않은 함수도 존재한다.
보통 Graphics 라는 클래스에서 시작되어 구성되어 있다. 그러나 몇개의 클래스등을 다목적으로 이용하기 위해 그 외의 형태로 구성되기 도 한다.
그리고 클래스에 포함안된 함수가 있는데, GdiplusStartup / GdiplusShutdown이 바로 그 둘이다.
기존 GDI에서 추가된 사항은
Gradient Brushs 기능, Cardinal Splines 기능, 독립적 Path Objects, Transformations 와 Matrix Object, Scalable Regions과 다양한 이미지 파일의 지원등이다.
그리고 기존 GDI객체를 사용하는데서 오는 변경을 몇가지 해줘야 하는데,
GDI+에서는 Graphics 객체를 사용하게 된다. 이를 적용하려면, HDC를 전해 주는 것으로 해결하게 된다 . 즉 Graphics 객체에게 HDC를 건네주어 처리하는 것이다.
제작하는 방법은 다양하지만, MFC 기반으로 제작을 하게 되지만, API
함수를 부르는 형태로 구성하기도 한다.
MFC7.0 에서는 자동적으로 부르게 되어 있지만, MFC4.2에서는 아직
본격적 지원은 하지 않는다.
GDI+ 는 WindowsXP와 Window2003에서는 자체적으로 포함되어 있으며, Windows NT 4.0 SP6, Windows 2000, Window98/ME 등에서는 설치를 해서 처리하게 된다. 실행시에는 System 폴더 안에, Gdiplus.dll 이 있으면 된다.
GDI+는 크게 3가지 부분으로 구성되어 있다.
- 2D Vector graphic
점/선/상자/색칠 등의 기능을 사용하는 기능으로 일반적인 그림 그리기의 기능을 의미하게 된다.
- 이미지 처리
각종 디지털 사진들의 처리라든가, 특정 컴포넌트에서 표현하기 힘든 그리기 기능들을 적용할 때 이용되는 기술이다.
- 글자처리
폰트에 관련되어 출력하게 되는 처리에 대한 기술
이 GDI+ 의 구성은 40여개의 클래스와 50여개의 나열자, 6개의 구조체로 구성된다. 그 중 Class로 구성되지 않은 함수도 존재한다.
보통 Graphics 라는 클래스에서 시작되어 구성되어 있다. 그러나 몇개의 클래스등을 다목적으로 이용하기 위해 그 외의 형태로 구성되기 도 한다.
그리고 클래스에 포함안된 함수가 있는데, GdiplusStartup / GdiplusShutdown이 바로 그 둘이다.
기존 GDI에서 추가된 사항은
Gradient Brushs 기능, Cardinal Splines 기능, 독립적 Path Objects, Transformations 와 Matrix Object, Scalable Regions과 다양한 이미지 파일의 지원등이다.
그리고 기존 GDI객체를 사용하는데서 오는 변경을 몇가지 해줘야 하는데,
GDI+에서는 Graphics 객체를 사용하게 된다. 이를 적용하려면, HDC를 전해 주는 것으로 해결하게 된다 . 즉 Graphics 객체에게 HDC를 건네주어 처리하는 것이다.
728x90