CreateDIBitmap 함수(wingdi.h)

CreateDIBitmap 함수는 DIB에서 호환되는 DDB(비트맵)를 만들고 필요에 따라 비트맵 비트를 설정합니다.

구문

HBITMAP CreateDIBitmap(
  [in] HDC                    hdc,
  [in] const BITMAPINFOHEADER *pbmih,
  [in] DWORD                  flInit,
  [in] const VOID             *pjBits,
  [in] const BITMAPINFO       *pbmi,
  [in] UINT                   iUsage
);

매개 변수

[in] hdc

디바이스 컨텍스트에 대한 핸들입니다.

[in] pbmih

BITMAPV5HEADER 비트맵 정보 헤더 구조체에 대한 포인터입니다.

fdwInit가 CBM_INIT 경우 함수는 비트맵 정보 헤더 구조를 사용하여 비트맵의 원하는 너비와 높이 및 기타 정보를 가져옵니다. 높이에 대한 양수 값은 상향식 DIB를 나타내고 높이에 대한 음수 값은 하향식 DIB를 나타냅니다. fdwInit를 CBM_INIT 사용하여 CreateDIBitmap을 호출하는 것은 CreateCompatibleBitmap 함수를 호출하여 디바이스 형식으로 DDB를 만든 다음 SetDIBits 함수를 호출하여 DIB 비트를 DDB로 변환하는 것과 같습니다.

[in] flInit

시스템에서 비트맵 비트를 초기화하는 방법을 지정합니다. 다음 값이 정의됩니다.

의미
CBM_INIT
이 플래그를 설정하면 시스템에서 lpbInitlpbmi 매개 변수가 가리키는 데이터를 사용하여 비트맵 비트를 초기화합니다.

이 플래그가 명확하면 해당 매개 변수가 가리키는 데이터가 사용되지 않습니다.

 

fdwInit가 0이면 시스템에서 비트맵 비트를 초기화하지 않습니다.

[in] pjBits

초기 비트맵 데이터를 포함하는 바이트 배열에 대한 포인터입니다. 데이터 형식은 lpbmi 매개 변수가 가리키는 BITMAPINFO 구조체의 biBitCount 멤버에 따라 달라집니다.

[in] pbmi

lpbInit 매개 변수가 가리키는 배열의 차원 및 색 형식을 설명하는 BITMAPINFO 구조체에 대한 포인터입니다.

[in] iUsage

BITMAPINFO 구조체의 bmiColors 멤버가 초기화되었는지 여부와 bmiColors에 명시적 빨강, 녹색, 파랑(RGB) 값 또는 색상표 인덱스가 포함되어 있는지 여부를 지정합니다. fuUsage 매개 변수는 다음 값 중 하나여야 합니다.

의미
DIB_PAL_COLORS
색 테이블이 제공되며 비트맵을 선택할 디바이스 컨텍스트의 논리적 색상표에 16비트 인덱스의 배열로 구성됩니다.
DIB_RGB_COLORS
색 테이블이 제공되며 리터럴 RGB 값이 포함됩니다.

반환 값

함수가 성공하면 반환 값은 호환되는 비트맵에 대한 핸들입니다.

함수가 실패하면 반환 값은 NULL입니다.

설명

생성된 DDB는 참조 DC의 비트 깊이가 무엇이든 됩니다. 비트 깊이가 다른 비트맵을 만들려면 CreateDIBSection을 사용합니다.

디바이스가 최적의 비트맵 그리기 속도에 도달하려면 fdwInit 를 CBM_INIT 지정합니다. 그런 다음 비디오 모드와 동일한 색 깊이 DIB를 사용합니다. 비디오가 4-또는 8-bpp를 실행하는 경우 DIB_PAL_COLORS 사용합니다.

fdwInit 매개 변수에 대한 CBM_CREATDIB 플래그는 더 이상 지원되지 않습니다.

비트맵이 더 이상 필요하지 않은 경우 DeleteObject 함수를 호출하여 삭제합니다.

Icm: 색 관리가 수행되지 않습니다. 결과 비트맵의 내용은 비트맵을 만든 후 색과 일치하지 않습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 wingdi.h(Windows.h 포함)
라이브러리 Gdi32.lib
DLL Gdi32.dll

추가 정보

BITMAPINFO

BITMAPINFOHEADER

비트맵 함수

비트맵 개요

CreateCompatibleBitmap

CreateDIBSection

DeleteObject

GetDeviceCaps

GetSystemPaletteEntries

Selectobject

SetDIBits