GradientFill 함수(wingdi.h)
GradientFill 함수는 사각형 및 삼각형 구조를 채웁니다.
구문
BOOL GradientFill(
[in] HDC hdc,
[in] PTRIVERTEX pVertex,
[in] ULONG nVertex,
[in] PVOID pMesh,
[in] ULONG nMesh,
[in] ULONG ulMode
);
매개 변수
[in] hdc
대상 디바이스 컨텍스트에 대한 핸들입니다.
[in] pVertex
각각 꼭짓점을 정의하는 TRIVERTEX 구조체 배열에 대한 포인터입니다.
[in] nVertex
pVertex의 꼭짓점 수입니다.
[in] pMesh
삼각형 모드의 GRADIENT_TRIANGLE 구조체 배열 또는 사각형 모드의 GRADIENT_RECT 구조체 배열입니다.
[in] nMesh
pMesh의 요소(삼각형 또는 사각형)의 수입니다.
[in] ulMode
그라데이션 채우기 모드입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
이 모드에서는 두 개의 엔드포인트가 사각형을 설명합니다. 사각형은 왼쪽 및 오른쪽 가장자리에 대한 상수 색( TRIVERTEX 구조체로 지정됨)을 갖도록 정의됩니다. GDI는 왼쪽에서 오른쪽 가장자리의 색을 보간하고 내부를 채웁니다. |
|
이 모드에서는 두 개의 엔드포인트가 사각형을 설명합니다. 사각형은 위쪽 및 아래쪽 가장자리의 상수 색( TRIVERTEX 구조로 지정됨)을 포함하도록 정의됩니다. GDI는 위쪽에서 아래쪽 가장자리로 색을 보간하고 내부를 채웁니다. |
|
이 모드에서는 TRIVERTEX 구조체의 배열이 별도의 삼각형을 설명하는 배열 인덱스 목록과 함께 GDI에 전달됩니다. GDI는 삼각형 꼭짓점 간에 선형 보간을 수행하고 내부를 채웁니다. 그리기는 24 및 32-bpp 모드에서 직접 수행됩니다. 디더링이 16-, 8, 4 및 1-bpp 모드로 수행됩니다. |
반환 값
함수가 성공하면 반환 값은 TRUE입니다.
함수가 실패하면 반환 값은 FALSE입니다.
설명
삼각형에 부드러운 음영을 추가하려면 세 개의 삼각형 엔드포인트를 사용하여 GradientFill 함수를 호출합니다. GDI는 삼각형을 선형으로 보간하고 채웁니다. 다음은 음영 처리된 삼각형의 그리기 출력입니다.
![위쪽 점의 주황색에서 아래쪽의 마젠타로 채우는 삼각형 그림](images/gradientfilltriangle.png)
![왼쪽의 어둡게에서 오른쪽 조명으로 음영을 지정하는 사각형의 그림](images/gradientfillrectangle.png)
![위쪽의 어둡게에서 아래쪽의 밝게으로 음영을 지정하는 사각형의 일러스트레이션](images/gradientfillrectangle2.png)
삼각형을 채우는 경우 pMesh 는 GRADIENT_TRIANGLE 구조체의 배열을 가리킵니다. 각 GRADIENT_TRIANGLE 구조체는 pVertex 배열에 있는 세 꼭짓점의 인덱스를 지정합니다. 이 세 꼭짓점은 하나의 삼각형을 형성합니다.
하드웨어 가속을 간소화하기 위해 이 루틴은 삼각형 내부에서 픽셀에 완벽할 필요는 없습니다.
GradientFill은 TRIVERTEX 구조체의 알파 멤버를 사용하지 않습니다. 투명도로 GradientFill을 사용하려면 GradientFill을 호출한 다음 각 꼭짓점의 알파 채널에 대해 원하는 값으로 AlphaBlend 를 호출합니다.
자세한 내용은 부드러운 음영, 음영된 삼각형 그리기 및 음영 사각형 그리기를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | wingdi.h(Windows.h 포함) |
라이브러리 | Msimg32.lib |
DLL | Msimg32.dll |