Condividi tramite


CImage::CreateEx

Crea una bitmap CImage e la si connettono all'oggetto precedentemente costruzione CImage.

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

Parametri

  • nWidth
    La larghezza della bitmap CImage, in pixel.

  • nHeight
    L'altezza della bitmap CImage, in pixel.Se nHeight è positivo, la bitmap viene capovolto DIB e la relativa origine è l'angolo inferiore sinistro.Se nHeight è negativo, la bitmap è un alto verso il basso DIB e la relativa origine è l'angolo superiore sinistro.

  • nBPP
    I numeri di bit per pixel della bitmap.In genere 4, 8, 16, 24, o 32.Può essere 1 per le bitmap o le maschere monocromatiche.

  • eCompression
    Specifica il tipo di compressione per una bitmap dal basso verso l'alto semplificata (DIB dall'alto verso il basso non può essere in inglese).Sono possibili i seguenti valori:

    • BI_RGB il formato non è compresso.Specificare questo valore quando chiama CImage::CreateEx equivale alla chiamata CImage::Create.

    • BI_BITFIELDS il formato non è compresso e la tabella dei colori è costituito da tre maschere di colore DWORD che specificano le componenti rossa, verde e blu, rispettivamente, di ogni pixel.Questo è valido se utilizzato con 16 di bpp 32 e - bitmap.

  • pdwBitfields
    Utilizzato solo se eCompression è impostato su BI_BITFIELDSin caso contrario, deve essere NULL.Puntatore a matrice di tre maschere di bit DWORD, specificando i bit di ogni pixel vengono utilizzati per le componenti rossa, verde e blu del colore, rispettivamente.Per informazioni sulle restrizioni per i campi di bit, vedere BITMAPINFOHEADER in Windows SDK.

  • dwFlags
    Specifica se l'oggetto bitmap con un canale alfa.Può essere una combinazione di zero o più dei seguenti valori:

    • createAlphaChannel può essere utilizzato solo se nBPP è 32 e eCompression è BI_RGB.Se data, l'immagine creata ha un valore alfa (trasparenza) per ogni pixel, memorizzato nel quarto byte di ogni pixel (non utilizzato in un'immagine a 32 bit non di alfa).Questo canale alfa viene utilizzato automaticamente quando si chiama CImage::AlphaBlend.

      [!NOTA]

      Le chiamate a CImage::Draw, immagini con un canale alfa vengono automaticamente alfa rispetto alla destinazione.

Valore restituito

TRUE se ha esito positivo.In caso contrario FALSE.

Esempio

L'esempio seguente consente di creare una bitmap del pixel 100x100, utilizzando 16 bit per la codifica ogni pixel.In un dato pixel a 16 bit, i bit 0-3 del componente rossa, i bit 4-7 il verde e i bit 8-11 codice blu.i 4 bit rimanenti sono inutilizzati.

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

Requisiti

Header: atlimage.h

Vedere anche

Riferimenti

Classe di CImage

CImage::CImage

CImage::Create

CImage::AlphaBlend