GetObject 함수(wingdi.h)
GetObject 함수는 지정된 그래픽 개체에 대한 정보를 검색합니다.
구문
int GetObject(
[in] HANDLE h,
[in] int c,
[out] LPVOID pv
);
매개 변수
[in] h
관심 있는 그래픽 개체에 대한 핸들입니다. 논리 비트맵, 브러시, 글꼴, 색상표, 펜 또는 CreateDIBSection 함수를 호출하여 만든 디바이스 독립적 비트맵 중 하나에 대한 핸들일 수 있습니다.
[in] c
버퍼에 쓸 정보 바이트 수입니다.
[out] pv
지정된 그래픽 개체에 대한 정보를 수신하는 버퍼에 대한 포인터입니다.
다음 표에서는 hgdiobj를 사용하여 지정할 수 있는 그래픽 개체의 각 형식에 대해 버퍼가 받는 정보의 유형을 보여 줍니다.
개체 유형 | 버퍼에 기록된 데이터 |
---|---|
|
|
|
DIBSECTION, cbBuffer 가 로 |
|
논리 팔레트의 항목 수 에 대한 WORD 수 |
|
|
|
|
|
|
|
lpvObject 매개 변수가 NULL인 경우 함수 반환 값은 지정된 그래픽 개체의 버퍼에 쓰는 정보를 저장하는 데 필요한 바이트 수입니다.
lpvObject의 주소는 4바이트 경계에 있어야 합니다. 그렇지 않으면 GetObject가 실패합니다.
반환 값
함수가 성공하고 lpvObject 가 유효한 포인터인 경우 반환 값은 버퍼에 저장된 바이트 수입니다.
함수가 성공하고 lpvObject 가 NULL이면 반환 값은 함수가 버퍼에 저장할 정보를 저장하는 데 필요한 바이트 수입니다.
함수가 실패하면 반환 값은 0입니다.
설명
lpvObject 매개 변수가 가리키는 버퍼는 그래픽 개체에 대한 정보를 수신하기에 충분히 커야 합니다. 그래픽 개체에 따라 함수는 BITMAP, DIBSECTION, EXTLOGPEN, LOGBRUSH, LOGFONT 또는 LOGPEN 구조체 또는 테이블 항목 수(논리적 팔레트의 경우)를 사용합니다.
hgdiobj가 CreateDIBSection을 호출하여 만든 비트맵에 대한 핸들이고 지정된 버퍼가 충분히 크면 GetObject 함수는 DIBSECTION 구조를 반환합니다. 또한 DIBSECTION 내에 포함된 BITMAP 구조체의 bmBits 멤버에는 비트맵의 비트 값에 대한 포인터가 포함됩니다.
hgdiobj가 다른 수단으로 만든 비트맵에 대한 핸들인 경우 GetObject는 비트맵의 너비, 높이 및 색 형식 정보만 반환합니다. GetDIBits 또는 GetBitmapBits 함수를 호출하여 비트맵의 비트 값을 가져올 수 있습니다.
hgdiobj가 논리 팔레트에 대한 핸들인 경우 GetObject는 색상표의 항목 수를 지정하는 2바이트 정수를 검색합니다. 함수는 팔레트를 정의하는 LOGPALETTE 구조를 검색하지 않습니다. 팔레트 항목에 대한 정보를 검색하기 위해 애플리케이션은 GetPaletteEntries 함수를 호출할 수 있습니다.
hgdiobj가 글꼴에 대한 핸들인 경우 반환되는 LOGFONT는 글꼴을 만드는 데 사용되는 LOGFONT입니다. 정확한 LOGFONT 를 나타낼 수 없기 때문에 Windows에서 글꼴을 보간해야 하는 경우 보간이 LOGFONT에 반영되지 않습니다. 예를 들어 세로 그리기를 지원하지 않는 세로 버전의 글꼴을 요청하는 경우 LOGFONT 는 글꼴이 세로이지만 Windows에서 가로로 그립니다.
예제
예제는 이미지 저장을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | wingdi.h(Windows.h 포함) |
라이브러리 | Gdi32.lib |
DLL | Gdi32.dll |