GDI+(Graphic Device Interface plus)는 마이크로소프트사가 GDI 후속으로 개발한 2D 그리기 라이브러리로 윈도우 XP 이후부터 탑재하기 시작했다.
GDI의 부족한 기능을 해결하기 위하여 만들어 졌으며, C++ 함수과 클래스로 이루어져 있다.
개발 동기[편집 | 원본 편집]
C#을 위시한 닷넷 프로그래밍 언어에서 윈도우 GUI 프로그램을 제작할 때 필요한 2D 그래픽 라이브러리가 필요했다. 기존의 GDI는 기능이 부족하고 오래되었다는 단점이 있었기에 새로운 그래픽 라이브러리를 개발해야 했으며, 순수하게 닷넷 프레임워크로 개발하기에는 속도가 느려지므로, 타협책으로 C++를 사용하게 되었다.
GDI에서의 변경점[편집 | 원본 편집]
컴퓨터의 성능이 발전함에 따라 GDI에서 부족한 기능을 추가한 모양새가 되었다.
- 다양한 이미지 포맷을 지원하게 되었다.
- GDI에서는 오직 BMP 파일만 읽고, 저장할 수 있었으며, 다른 이미지 포맷을 읽고 저장하려면 추가 라이브러리를 사용하거나 직접 작성해야 했다. 반면 GDI+에서는 대중적인 이미지 포맷(PNG , JPEG , GIF)를 지원하게 되었다.
- 논리 좌표계의 사용
- GDI의 단위는 오직 픽셀이었지만, GDI+는 픽셀 뿐만 아니라 인치, mm 같은 논리적인 단위를 사용할 수 있게 되었다.
단점[편집 | 원본 편집]
여전히 GDI처럼 그리기를 CPU에서 처리하기 때문에 복잡한 게임에는 쓰기 힘들다는 단점이 있다.
이후[편집 | 원본 편집]
윈도우 비스타 이후에는 Direct2D에 기본 그리기 라이브러리 자리를 넘겨 주었다.
기타[편집 | 원본 편집]
윈도우 XP 때무터 그림판에서 GDI+를 사용하여 BMP 파일 뿐만 아니라 PNG, JPEG, GIF를 읽고 쓸 수 있게 되었다.