GradientFill 함수를 이용하여 그라이데이션 효과주는 방법
Posted 2009/03/15 19:14|
|
|
댓글 하나가 운영자에겐 커다란 힘이 됩니다!
아래의 글은 네이버 카페 TipsSoft에서 스크랩한 것입니다.
GradientFill 함수를 이용하여 그라데이션 효과를 주는 방법에 대해서 알아보겠습니다.
GradientFill 함수 기능은 msimg32.dll 이 제공됩니다. msimg32.dll 은 C:\%WINDOWS%\system32 폴더에
위치하며, 소스 코드를 컴파일하고 링크할 때 msimg32.dll 에 대한 정보를 제공하기 위해서
메뉴에서 Project -> Settings(alt + f7)를 선택하면 project setting 대화상자가 출력되는데 이 대화상자에서
link 탭의 Object/library modules : 입력란에 msimg32.lib 를 등록합니다.
위치하며, 소스 코드를 컴파일하고 링크할 때 msimg32.dll 에 대한 정보를 제공하기 위해서
메뉴에서 Project -> Settings(alt + f7)를 선택하면 project setting 대화상자가 출력되는데 이 대화상자에서
link 탭의 Object/library modules : 입력란에 msimg32.lib 를 등록합니다.

// GradientFill 함수의 원형은 다음과 같습니다.
BOOL GradientFill(
HDC hdc,
CONST PTRIVERTEX pVertex, // TRIVERTEX 구조체 배열의 포인터
// (TRIVERTEX 구조체는 색상 및 위치 정보를 가지고 있다.)
DWORD dwNumVertex, // TRIVERTEX 구조체의 수
CONST PVOID pMesh, // 삼각형 모드일 경우에는 GRADIENT_TRIANGLE 구조체를,
// 사각형 모드일 경우 GRADIENT_RECT 구조체의 포인터를 명시한다.
DWORD dwNumMesh, // pMesh 인자에 사용되는 구조체의 수
DWORD dwMode // 그라데이션 모드
// (GRADIENT_FILL_RECT_V : 가로, GRADIENT_FILL_RECT_H : 세로,
// RADIENT_FILL_TRIANGLE : 트라이앵글)
);
HDC hdc,
CONST PTRIVERTEX pVertex, // TRIVERTEX 구조체 배열의 포인터
// (TRIVERTEX 구조체는 색상 및 위치 정보를 가지고 있다.)
DWORD dwNumVertex, // TRIVERTEX 구조체의 수
CONST PVOID pMesh, // 삼각형 모드일 경우에는 GRADIENT_TRIANGLE 구조체를,
// 사각형 모드일 경우 GRADIENT_RECT 구조체의 포인터를 명시한다.
DWORD dwNumMesh, // pMesh 인자에 사용되는 구조체의 수
DWORD dwMode // 그라데이션 모드
// (GRADIENT_FILL_RECT_V : 가로, GRADIENT_FILL_RECT_H : 세로,
// RADIENT_FILL_TRIANGLE : 트라이앵글)
);
// 해당 클래스의 OnPaint()함수에 아래의 코드를 추가한다.
// 사각형 그라데이션 그리기
TRIVERTEX vert[2];
GRADIENT_RECT rect;
// 그라데이션의 시작좌표를 명시한다.
vert[0].x = 0;
vert[0].y = 0;
GRADIENT_RECT rect;
// 그라데이션의 시작좌표를 명시한다.
vert[0].x = 0;
vert[0].y = 0;
// 그라데이션의 시작색상을 명시한다.
vert[0].Red = 0x0000;
vert[0].Red = 0x0000;
위의 정보가 도움이 되셨나요? 그렇다면 댓글 하나만 남겨주세요.
댓글 하나가 운영자에겐 커다란 힘이 됩니다!
- Filed under : 프로그래밍/MFC & Win32
- Comment Trackback

