Partilhar via


CImage::CreateEx

Criar um bitmap de CImage e anexá-la ao objeto anteriormente construído de CImage .

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

Parâmetros

  • nWidth
    A largura de bitmap de CImage , em pixels.

  • nHeight
    A altura do bitmap de CImage , em pixels.Se nHeight for positivo, o bitmap é DIB bottom-up e sua fonte é o o canto inferior esquerdo.Se nHeight for negativo, o bitmap DIB é invertido e sua origem é o canto superior esquerdo.

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

  • eCompression
    Especifica o tipo de compactação para um bitmap bottom-up compactado (DIBs invertido não pode ser compactado.)Pode ser um dos seguintes valores:

    • BI_RGB o formato é descompactado.Especificar esse valor ao chamar CImage::CreateEx é equivalente ao chamar CImage::Create.

    • BI_BITFIELDS o formato é descompactado e a tabela de cores consiste em três máscaras de cor de DWORD que especificam os componentes vermelho, verde e azul, respectivamente, de cada pixel.Isso é válido quando usado com 16 de 32 bpp bitmaps - e.

  • pdwBitfields
    Usado somente se eCompression é definido como BI_BITFIELDS, se não deve ser NULO.Um ponteiro para uma matriz de três máscaras de bits de DWORD , especificando que bit de cada pixel são usados para componentes vermelho, verde e azul, de cor, respectivamente.Para obter informações sobre as restrições para os bitfields, consulte BITMAPINFOHEADER em Windows SDK.

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

    • createAlphaChannel pode ser usado somente se nBPP é 32, e eCompression é BI_RGB.Se a imagem especificada, ele tem um valor alfa (transparência) para cada pixel, armazenado no 4o byte de cada pixel (não usado em uma imagem de 32 bits não Alpha).Este canal alfa é usado automaticamente ao chamar CImage::AlphaBlend.

      ObservaçãoObservação

      Chama a CImage::Draw, as imagens com um canal alfa são automaticamente alfa misturado de destino.

Valor de retorno

SeVerdadeiro com êxito.Se não Falso.

Exemplo

O exemplo a seguir cria um bitmap de pixel 100x100, usando 16 bits para codificar cada pixel.Em um pixel de 16 bits determinado, os bits 0-3 codifique o componente vermelho, os bits 4-7 código verde, e os bits 8-11 código azul.Os 4 bits restantes são não usado.

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 de CImage

CImage::CImage

CImage::Create

CImage::AlphaBlend