CImage::CreateEx

Cria um CImage bitmap e anexá-lo a anteriormente construído CImage objeto.

BOOL CreateEx(
   int nWidth,
   int nHeight,
   int nBPP,
   DWORD eCompression,
   const DWORD* pdwBitmasks = NULL,
   DWORD dwFlags = 0 
) throw( );

Parâmetros

  • nWidth
    A largura do CImage bitmap, em pixels.

  • nHeight
    A altura do CImage bitmap, em pixels. If nHeight for positivo, o bitmap é um DIB de baixo para cima e sua origem é o canto inferior esquerdo. If nHeight é negativo, o bitmap é um DIB de cima para baixo e sua origem é o canto esquerdo superior.

  • nBPP
    Os números de bits por pixel no bitmap.Geralmente 4, 8, 16, 24 ou 32.Pode ser 1 para bitmaps monocromáticos ou máscaras.

  • eCompression
    Especifica o tipo de compactação para um bitmap de baixo para cima compactado (DIBs de cima para baixo não podem ser compactados).Pode ser um dos seguintes valores:

    • BI_RGB   O formato é descompactado.Especificar este valor ao chamar CImage::CreateEx equivale a chamada CImage::Create.

    • **BI_BITFIELDS   **O formato é descompactado e a tabela de cores consiste em três DWORD máscaras de cor que especificam os componentes vermelhos, verdes e azuis, respectivamente, de cada pixel. Isso é válido quando usado com 16 e 32 bpp bitmaps.

  • pdwBitfields
    Usado somente se eCompression é definido como BI_BITFIELDS, caso contrário, ele deve ser NULO.Um ponteiro para uma matriz de três DWORD bitmasks, especificando os bits de cada pixel são utilizados para os componentes vermelhos, verdes e azuis da cor, respectivamente. Para obter informações sobre as restrições para o bitfields, consulte BITMAPINFOHEADER in the Windows SDK.

  • dwFlags
    Especifica se o objeto de bitmap tem um canal alfa.Pode ser uma combinação de zero ou mais dos seguintes valores:

    • **createAlphaChannel   **Pode ser usada somente se nBPP é 32, e eCompression é BI_RGB.Se especificado, a imagem criada tem um valor de alfa (transparência) para cada pixel, armazenado no 4 º byte de cada pixel (não usada em uma imagem de 32 bit não alfabéticos).Este canal alfa é automaticamente usada ao chamar CImage::AlphaBlend.

      Observação:

      Em chamadas para CImage::Draw, imagens com um canal alfa são automaticamente alfa combinado para o destino.

Valor de retorno

TRUE se for bem-sucedido.Caso contrário, FALSE.

Exemplo

O exemplo a seguir cria um bitmap de 100 x 100 pixels, usando 16 bits para codificar cada pixel.Em um determinado pixel de 16 bit, bit de 0 a 3 codificam o componente vermelho, bit de 4 a 7 codificam verde e 11 de 8 bit codificam azul.Os bits restantes 4 são não utilizados.

DWORD adwBitmasks[3] = { 0x0000000f, 0x000000f0, 0x00000f00 };
m_myImage.CreateEx(100, 100, 16, BI_BITFIELDS, adwBitmasks, 0);

Requisitos

Cabeçalho: atlimage.h

Consulte também

Referência

Classe CImage

CImage::CImage

CImage::criar

CImage::AlphaBlend

Outros recursos

CImage membros