Compartilhar via


Função CreateDIBitmap (wingdi.h)

A função CreateDIBitmap cria um DDB (bitmap) compatível de um DIB e, opcionalmente, define os bits de bitmap.

Sintaxe

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

Parâmetros

[in] hdc

Um identificador para um contexto de dispositivo.

[in] pbmih

Um ponteiro para uma estrutura de cabeçalho de informações de bitmap , BITMAPV5HEADER.

Se fdwInit for CBM_INIT, a função usará a estrutura de cabeçalho de informações de bitmap para obter a largura e a altura desejadas do bitmap, bem como outras informações. Observe que um valor positivo para a altura indica um DIB de baixo para cima, enquanto um valor negativo para a altura indica um DIB de cima para baixo. Chamar CreateDIBitmap com fdwInit como CBM_INIT é equivalente a chamar a função CreateCompatibleBitmap para criar um DDB no formato do dispositivo e, em seguida, chamar a função SetDIBits para traduzir os bits DIB para o DDB.

[in] flInit

Especifica como o sistema inicializa os bitmap bitmap bits. O valor a seguir é definido.

Valor Significado
CBM_INIT
Se esse sinalizador for definido, o sistema usará os dados apontados pelos parâmetros lpbInit e lpbmi para inicializar os bits de bitmap.

Se esse sinalizador estiver claro, os dados apontados por esses parâmetros não serão usados.

 

Se fdwInit for zero, o sistema não inicializará os bits de bitmap.

[in] pjBits

Um ponteiro para uma matriz de bytes que contém os dados de bitmap iniciais. O formato dos dados depende do membro biBitCount da estrutura BITMAPINFO à qual o parâmetro lpbmi aponta.

[in] pbmi

Um ponteiro para uma estrutura BITMAPINFO que descreve as dimensões e o formato de cor da matriz apontada pelo parâmetro lpbInit .

[in] iUsage

Especifica se o membro bmiColors da estrutura BITMAPINFO foi inicializado e, nesse caso, se bmiColors contém valores RGB (vermelhos, verdes, azuis) explícitos (RGB) ou índices de paleta. O parâmetro fuUsage deve ser um dos valores a seguir.

Valor Significado
DIB_PAL_COLORS
Uma tabela de cores é fornecida e consiste em uma matriz de índices de 16 bits na paleta lógica do contexto do dispositivo no qual o bitmap deve ser selecionado.
DIB_RGB_COLORS
Uma tabela de cores é fornecida e contém valores RGB literais.

Valor retornado

Se a função for bem-sucedida, o valor retornado será um identificador para o bitmap compatível.

Se a função falhar, o valor retornado será NULL.

Comentários

O DDB criado será qualquer profundidade de bits que seu DC de referência for. Para criar um bitmap de profundidade de bits diferente, use CreateDIBSection.

Para que um dispositivo atinja a velocidade ideal de desenho de bitmap, especifique fdwInit como CBM_INIT. Em seguida, use o mesmo DIB de profundidade de cor que o modo de vídeo. Quando o vídeo estiver executando 4 ou 8 bpp, use DIB_PAL_COLORS.

Não há mais suporte para o sinalizador CBM_CREATDIB para o parâmetro fdwInit .

Quando você não precisar mais do bitmap, chame a função DeleteObject para excluí-la.

ICM: Nenhum gerenciamento de cores é executado. O conteúdo do bitmap resultante não é correspondente à cor após a criação do bitmap.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wingdi.h (inclua Windows.h)
Biblioteca Gdi32.lib
DLL Gdi32.dll

Confira também

BITMAPINFO

BITMAPINFOHEADER

Funções bitmap

Visão geral do Bitmaps

Createcompatiblebitmap

Createdibsection

DeleteObject

Getdevicecaps

Getsystempaletteentries

Selectobject

Setdibits