다음을 통해 공유


CreateBitmap 함수(wingdi.h)

CreateBitmap 함수는 지정된 너비, 높이 및 색 형식(색 평면 및 픽셀당 비트)을 사용하여 비트맵을 만듭니다.

구문

HBITMAP CreateBitmap(
  [in] int        nWidth,
  [in] int        nHeight,
  [in] UINT       nPlanes,
  [in] UINT       nBitCount,
  [in] const VOID *lpBits
);

매개 변수

[in] nWidth

비트맵 너비(픽셀)입니다.

[in] nHeight

비트맵 높이(픽셀)입니다.

[in] nPlanes

디바이스에서 사용하는 색 평면의 수입니다.

[in] nBitCount

단일 픽셀의 색을 식별하는 데 필요한 비트 수입니다.

[in] lpBits

픽셀 사각형에서 색을 설정하는 데 사용되는 색 데이터 배열에 대한 포인터입니다. 사각형의 각 검색 줄은 단어 정렬이어야 합니다(단어 정렬되지 않은 스캔 줄은 0으로 채워야 합니다). 필요한 버퍼 크기( cj)는 수식을 사용하여 계산할 수 있습니다.

cj = (((nWidth * nPlanes * nBitCount + 15) >> 4) << 1) * nHeight;

이 매개 변수가 NULL이면 새 비트맵의 내용이 정의되지 않습니다.

반환 값

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

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

이 함수는 다음 값을 반환할 수 있습니다.

반환 코드 설명
ERROR_INVALID_BITMAP
비트맵의 계산된 크기가 0보다 작습니다.

설명

CreateBitmap 함수는 디바이스 종속 비트맵을 만듭니다.

비트맵을 만든 후 SelectObject 함수를 호출하여 디바이스 컨텍스트로 선택할 수 있습니다. 그러나 비트맵과 DC의 형식이 같은 경우에만 비트맵을 디바이스 컨텍스트로 선택할 수 있습니다.

CreateBitmap 함수를 사용하여 색 비트맵을 만들 수 있습니다. 그러나 성능상의 이유로 애플리케이션은 CreateBitmap 을 사용하여 흑백 비트맵을 만들고 CreateCompatibleBitmap 을 사용하여 색 비트맵을 만들어야 합니다. CreateBitmap에서 반환된 색 비트맵이 디바이스 컨텍스트로 선택될 때마다 시스템은 비트맵이 선택한 디바이스 컨텍스트의 형식과 일치하는지 확인합니다. CreateCompatibleBitmap은 디바이스 컨텍스트를 취하므로 지정된 디바이스 컨텍스트와 형식이 동일한 비트맵을 반환합니다. 따라서 CreateCompatibleBitmap의 색 비트맵이 CreateBitmap에서 반환된 색 비트맵보다 SelectObject에 대한 후속 호출이 더 빠릅니다.

비트맵이 단색인 경우 0은 전경색을 나타내고 대상 디바이스 컨텍스트의 배경색을 나타냅니다.

애플리케이션이 nWidth 또는 nHeight 매개 변수를 0으로 설정하는 경우 CreateBitmap 은 핸들을 1x1 픽셀인 단색 비트맵으로 반환합니다.

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

요구 사항

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

추가 정보

비트맵 함수

비트맵 개요

CreateBitmapIndirect

CreateCompatibleBitmap

CreateDIBitmap

DeleteObject

GetBitmapBits

Selectobject

SetBitmapBits