Freigeben über


CImage::CreateEx

Erstellt eine CImage Bitmap und fügt sie dem zuvor erstellten CImage-Objekt.

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

Parameter

  • nWidth
    Die Breite der CImage Bitmaps, in Pixel.

  • nHeight
    Die Höhe der CImage Bitmaps, in Pixel. Wenn nHeight positiv ist, ist die Bitmap ein Bottom-Up-Ansatz DIBs und sein Ursprung ist die linke untere Ecke. Wenn nHeight negativ ist, ist die Bitmap ein Top-Down-Ansatz DIBs und sein Ursprung ist die obere linke Ecke.

  • nBPP
    Die Anzahl der Bits pro Pixel in der Bitmap. Normalerweise 4, 8, 16, 24 oder 32. Kann 1 für monochrome Bitmaps oder Masken.

  • eCompression
    Gibt den Komprimierungstyp für eine komprimierte Bottom-up-Bitmap an (Top-Down-Ansatz DIB kann nicht komprimiert werden). Kann einer der folgenden Werte sein:

    • BI_RGB das Format ist dekomprimiert. Diesen Wert festgelegt, wenn CImage::CreateEx aufruft, entspricht dem Aufrufen von CImage::Create entsprechend.

    • BI_BITFIELDS das Format ist dekomprimiert und die Farbtabelle besteht aus drei DWORD Farbenmasken, die der Rot-, Grün- und angeben, aus bzw. Blauanteil jedes Pixels. Dies ist gültig, wenn es mit 16 - und 32 bpp Bitmaps verwendet wird.

  • pdwBitfields
    Nur verwendet, wenn eCompression zu BI_BITFIELDS festgelegt ist; andernfalls muss es NULL sein. Ein Zeiger auf ein Array mit drei Bitmasken, von anzugeben, welche Bits jedes Pixels für der Rot-, Grün- und verwendet werden DWORD von Blauanteil der Farbe, bzw. Informationen zu Einschränkungen für die Bitfelder, finden Sie unter BITMAPINFOHEADER in Windows SDK.

  • dwFlags
    Gibt an, ob das Bit-Übersichtsobjekt einen Alphakanal verfügt. Kann eine Kombination aus null oder mehrere der folgenden Werte:

    • createAlphaChannel kann nur verwendet werden, wenn nBPP 32 ist und eCompressionBI_RGB ist. Wenn es angegeben wird, hat das erstellte Bild einen Alpha (Transparenz) Wert für jedes Pixel, im 4 Byte gespeichert. jedes Pixels (nicht verwendet in einem NichtAlpha 32-Bit-Image). Dieser Alphakanal wird automatisch verwendet, wenn Sie CImage::AlphaBlend aufruft.

      Hinweis

      In Aufrufen zu CImage::Draw, sind Bilder mit einem Alphakanal automatisch das Alpha-, das dem Ziel ausgeführt.

Rückgabewert

TRUE, wenn erfolgreich. Andernfalls FALSE.

Beispiel

Das folgende Beispiel erstellt eine Bitmap des Pixels 100x100, mit 16 Bits, um jedes Pixel zu codieren. In einem angegebenen 16-Bit-Pixel Code Bits 0-3 den Rotanteil, codieren Bits 4-7, Grün und Blau Bits 8-11 codieren. Die verbleibenden 4 Bits sind nicht verwendet.

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

Anforderungen

Header: atlimage.h

Siehe auch

Referenz

CImage Class

CImage::CImage

CImage::Create

CImage::AlphaBlend