Udostępnij za pośrednictwem


CImage::CreateEx

Tworzy CImage bitmapowe i dołączyć go do wcześniej konstruowanej CImage obiektu.

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

Parametry

  • nWidth
    Szerokość CImage bitmapy w pikselach.

  • nHeight
    Wysokość CImage bitmapy w pikselach.Jeśli nHeight jest dodatnia, bitmapa jest DIB oddolnego i jego pochodzenia jest w lewym dolnym rogu.Jeśli nHeight jest ujemna, jest mapa bitowa DIB góra dół i jego pochodzenia jest w lewym górnym rogu.

  • nBPP
    Liczba bitów na piksel bitmapy.Zazwyczaj 4, 8, 16, 24 lub 32.Może być 1 monochromatyczne lub maski.

  • eCompression
    Określa typ kompresji dla skompresowanego bitmapy oddolnego (nie można skompresować DIBs góra dół).Może to być jedna z następujących wartości:

    • BI_RGB format jest nieskompresowany.Określenie tej wartości podczas wywoływania CImage::CreateEx jest odpowiednikiem telefonicznej CImage::Create.

    • BI_BITFIELDS format jest nieskompresowany i tabela kolorów składa się z trzech DWORD koloru maski, określających red, green i blue składników, odpowiednio, każdego piksela.Jest to ważne, gdy używana z 16 i 32 bpp bitmapy.

  • pdwBitfields
    Używane, jeśli eCompression jest ustawiona na BI_BITFIELDS, w przeciwnym razie muszą być NULL.Wskaźnik do tablicy trzech DWORD masek bitowych, określając, które bity poszczególnych pikseli są używane dla koloru czerwonego, zielone i niebieskie składniki kolorów, odpowiednio.Informacje dotyczące ograniczeń dla pola bitowe, zobacz BITMAPINFOHEADER w Windows SDK.

  • dwFlags
    Określa, jeśli obiekt bitmap ma kanał alfa.Może być kombinacją zero lub więcej z następujących wartości:

    • createAlphaChannel może być używany tylko, jeśli nBPP 32, i eCompression jest BI_RGB.Jeśli określony, utworzony obraz ma wartość alfa (przezroczystości) dla każdego piksela przechowywane w czwarty bajt każdego piksela (nieużywane obrazu 32-bitowe alfa).Ten kanał alfa jest automatycznie używany podczas wywoływania CImage::AlphaBlend.

      [!UWAGA]

      W wywołaniach CImage::Draw, obrazów z kanałem alfa są automatycznie alfa mieszane do miejsca przeznaczenia.

Wartość zwracana

TRUE w przypadku powodzenia.W przeciwnym razie FALSE.

Przykład

Poniższy przykład tworzy 100 x 100 pikseli bitmapy, przy użyciu 16 bitów do kodowania poszczególnych pikseli.W pikselu 16-bitowe bity 0-3 kodować czerwony składnik, 4-7 bitów kodować zielony i bity 8-11 kodować niebieski.Pozostałe 4 bity są nieużywane.

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

Wymagania

Nagłówek: atlimage.h

Zobacz też

Informacje

Klasa CImage

CImage::CImage

CImage::Create

CImage::AlphaBlend