새로운 기능

다음 섹션에서는 Windows GDI+의 몇 가지 새로운 기능에 대해 설명합니다.

그라데이션 브러시

GDI+는 셰이프, 경로 및 영역을 채우기 위한 선형 그라데이션 및 경로 그라데이션 브러시를 제공하여 Windows GDI(그래픽 디바이스 인터페이스)에서 확장됩니다. 그라데이션 브러시를 사용하여 선, 곡선 및 경로를 그릴 수도 있습니다. 선형 그라데이션 브러시로 셰이프를 채우면 셰이프를 가로질러 이동할 때 색이 점차 바뀝니다. 예를 들어 도형의 왼쪽 가장자리에 파란색을 지정하고 오른쪽 가장자리에 녹색을 지정하여 가로 그라데이션 브러시를 만든다고 가정해 보겠습니다. 해당 도형을 가로 그라데이션 브러시로 채우면 왼쪽 가장자리에서 오른쪽 가장자리로 이동할 때 파란색에서 녹색으로 점차 변경됩니다. 마찬가지로 세로 그라데이션 브러시로 채워진 도형은 위에서 아래로 이동할 때 색이 변경됩니다. 다음 그림에서는 가로 그라데이션 브러시로 채워진 타원과 대각선 그라데이션 브러시로 채워진 영역을 보여 줍니다.

가로 그라데이션으로 채워진 도형과 대각선 그라데이션으로 채워진 도형 그림

도형을 경로 그라데이션 브러시로 채우면 셰이프의 한 부분에서 다른 부분으로 이동할 때 색이 변경되는 방식을 지정하는 다양한 옵션이 있습니다. 한 가지 옵션은 도형의 중간에서 바깥쪽 가장자리로 이동할 때 픽셀이 한 색에서 다른 색으로 점진적으로 변경되도록 가운데 색과 경계 색을 갖는 것입니다. 다음 그림에서는 경로 그라데이션 브러시로 채워진 경로(Bézier 스플라인 쌍에서 생성됨)를 보여 줍니다.

반쪽이 가장자리의 아쿠아와 만나는 파란색으로 채워진 무한대 기호와 유사한 도형 그림

카디널 스플라인

GDI+는 GDI에서 지원되지 않는 카디널 스플라인을 지원합니다. 카디널 스플라인은 더 큰 곡선을 형성하기 위해 조인된 개별 곡선의 시퀀스입니다. 스플라인은 점 배열로 지정되고 해당 배열의 각 지점을 통과합니다. 카디널 스플라인은 배열의 각 지점을 원활하게 통과하므로 직선을 연결하여 만든 경로보다 더 세련됩니다. 다음 그림에서는 직선을 연결하여 만든 경로와 카디널 스플라인으로 만든 경로를 보여 줍니다.

동일한 5개 지점을 두 번 보여 주는 그림: 한 번은 카디널 스플라인으로 연결하고 다른 하나는 선 세그먼트로 연결됨

독립 경로 개체

GDI에서 경로는 디바이스 컨텍스트에 속하며 경로가 그려질 때 제거됩니다. GDI+를 사용하면 Graphics 개체에서 그리기를 수행하며 Graphics 개체와 별개인 여러 GraphicsPath개체를 만들고 유지 관리할 수 있습니다. GraphicsPath 개체는 그리기 동작에 의해 제거되지 않으므로 동일한 GraphicsPath 개체를 사용하여 경로를 여러 번 그릴 수 있습니다.

변환 및 행렬 개체

GDI+는 변환(회전, 변환 등)을 쉽고 유연하게 만드는 강력한 도구인 Matrix 개체를 제공합니다. 행렬 개체는 변환된 개체와 함께 작동합니다. 예를 들어 GraphicsPath 개체에는 Matrix 개체의 주소를 인수로 받는 GraphicsPath::Transform 메서드가 있습니다. 단일 3×3 행렬은 하나의 변환 또는 변환 시퀀스를 저장할 수 있습니다. 다음 그림에서는 두 변환 시퀀스 앞과 뒤의 경로를 보여 줍니다(첫 번째 배율, 회전).

도형의 윤곽선을 보여 주는 그림, 동일한 윤곽선이지만 더 좁고 회전됨

확장 가능한 지역

GDI+는 지역에 대한 지원으로 GDI에서 크게 확장됩니다. GDI에서 지역은 디바이스 좌표에 저장되며 지역에 적용할 수 있는 유일한 변환은 변환입니다. GDI+는 전 세계 좌표에 지역을 저장하고 변환 매트릭스에 저장할 수 있는 모든 변환(예: 크기 조정)을 수행할 수 있도록 합니다. 다음 그림에서는 크기 조정, 회전 및 변환의 세 가지 변환 시퀀스 전후의 영역을 보여 줍니다.

좌표 축을 중심으로 한 도형을 보여 주는 그림, 같은 도형은 같지만 더 크고 회전하며 오른쪽으로 변환됨

알파 혼합

이전 그림에서는 변환된 영역(해치 브러시로 채워짐)을 통해 변환되지 않은 영역(빨간색으로 채워진)을 볼 수 있습니다. 이는 GDI+에서 지원하는 알파 혼합을 통해 가능합니다. 알파 혼합을 사용하면 채우기 색의 투명도를 지정할 수 있습니다. 투명한 색은 배경색과 혼합됩니다. 채우기 색을 더 투명하게 만들수록 배경이 더 많이 표시됩니다. 다음 그림에서는 다른 투명도 수준에서 동일한 색(빨간색)으로 채워진 네 개의 타원을 보여 줍니다.

반투명 사각형과 겹치는 다양한 투명도의 타원 4개를 보여 주는 일러스트레이션

여러 이미지 형식 지원

GDI+는 다양한 형식으로 이미지를 로드, 저장 및 조작할 수 있는 Image, BitmapMetafile 클래스를 제공합니다. 다음 형식이 지원됩니다.

  • BMP
  • GIF(Graphics Interchange Format)
  • JPEG
  • Exif
  • PNG
  • TIFF
  • 아이콘
  • WMF
  • EMF