Função SetDIBits (wingdi.h)

A função SetDIBits define os pixels em um DDB (bitmap) compatível usando os dados de cor encontrados no DIB especificado.

Sintaxe

int SetDIBits(
  [in] HDC              hdc,
  [in] HBITMAP          hbm,
  [in] UINT             start,
  [in] UINT             cLines,
  [in] const VOID       *lpBits,
  [in] const BITMAPINFO *lpbmi,
  [in] UINT             ColorUse
);

Parâmetros

[in] hdc

Um identificador para um contexto de dispositivo.

[in] hbm

Um identificador para o DDB (bitmap) compatível que deve ser alterado usando os dados de cor do DIB especificado.

[in] start

A linha de verificação inicial para os dados de cor independentes do dispositivo na matriz apontada pelo parâmetro lpvBits .

[in] cLines

O número de linhas de verificação encontradas na matriz que contém dados de cores independentes do dispositivo.

[in] lpBits

Um ponteiro para os dados de cor DIB, armazenados como uma matriz de bytes. O formato dos valores de bitmap depende do membro biBitCount da estrutura BITMAPINFO apontada pelo parâmetro lpbmi .

[in] lpbmi

Um ponteiro para uma estrutura BITMAPINFO que contém informações sobre o DIB.

[in] ColorUse

Indica se o membro bmiColors da estrutura BITMAPINFO foi fornecido e, nesse caso, se bmiColors contém valores RGB (vermelho, verde, azul) explícitos ou índices de paleta. O parâmetro fuColorUse deve ser um dos valores a seguir.

Valor Significado
DIB_PAL_COLORS
A tabela de cores consiste em uma matriz de índices de 16 bits na paleta lógica do contexto do dispositivo identificado pelo parâmetro hdc .
DIB_RGB_COLORS
A tabela de cores é fornecida e contém valores RGB literais.

Valor retornado

Se a função for bem-sucedida, o valor retornado será o número de linhas de verificação copiadas.

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

Esse pode ser o valor a seguir.

Código de retorno Descrição
ERROR_INVALID_PARAMETER
Um ou mais dos parâmetros de entrada são inválidos.

Comentários

A velocidade ideal de desenho de bitmap é obtida quando os bits de bitmap são índices na paleta do sistema.

Os aplicativos podem recuperar as cores e índices da paleta do sistema chamando a função GetSystemPaletteEntries . Depois que as cores e índices forem recuperados, o aplicativo poderá criar o DIB. Para obter mais informações, consulte Paleta do Sistema.

O contexto do dispositivo identificado pelo parâmetro hdc será usado somente se a constante DIB_PAL_COLORS estiver definida para o parâmetro fuColorUse ; caso contrário, ele será ignorado.

O bitmap identificado pelo parâmetro hbmp não deve ser selecionado em um contexto de dispositivo quando o aplicativo chama essa função.

As linhas de verificação devem ser alinhadas em um DWORD , exceto para bitmaps compactados por RLE.

A origem dos DIBs de baixo para cima é o canto inferior esquerdo do bitmap; a origem dos DIBs de cima para baixo é o canto superior esquerdo do bitmap.

ICM: O gerenciamento de cores será executado se o gerenciamento de cores tiver sido habilitado com uma chamada para SetICMMode com o parâmetro iEnableICM definido como ICM_ON. Se o bitmap especificado por lpbmi tiver um BITMAPV4HEADER que especifica os membros gama e de pontos de extremidade, ou um BITMAPV5HEADER que especifica os membros gama e pontos de extremidade ou os membros profileData e profileSize, a chamada tratará os pixels do bitmap como sendo expressos no espaço de cores descrito por esses membros, em vez de no espaço de cor de origem do contexto do dispositivo.

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

Funções de bitmap

Visão geral do Bitmaps

GetDIBits

Getsystempaletteentries