CImage::CreateEx
Crée une bitmap d' CImage et la attaché à l'objet précédemment construit d' CImage .
BOOL CreateEx(
int nWidth,
int nHeight,
int nBPP,
DWORD eCompression,
const DWORD* pdwBitmasks = NULL,
DWORD dwFlags = 0
) throw( );
Paramètres
nWidth
La largeur de la bitmap d' CImage , en pixels.nHeight
La hauteur de la bitmap d' CImage , en pixels. Si nHeight est positif, la bitmap est fichier DIB arrière et son origine est l'angle inférieur gauche. Si nHeight est négatif, la bitmap est verticale fichier DIB et son origine est l'angle supérieur gauche.nBPP
Le nombre de bits par pixel dans la bitmap. Habituellement 4, 8, 16, 24, ou 32. Peut être composé de 1 pour les bitmaps monochromes ou des caractères génériques.eCompression
Spécifie le type de compression pour une bitmap descendante compressée (les fichiers DIB hiérarchisés ne peuvent pas être compressés). Peut avoir l'une des valeurs suivantes :BI_RGB le format est non compressé. Spécifier cette valeur en appelant CImage::CreateEx revient à appeler CImage::Create.
BI_BITFIELDS le format est non compressé et la table des couleurs se compose de trois caractères génériques de couleur d' DWORD qui spécifient les composantes rouge, vert, bleu et, respectivement, de chaque pixel. C'est valide en cas de utilisation avec 16 32 de bpp bitmap )et.
pdwBitfields
Utilisé uniquement si eCompression a la valeur BI_BITFIELDS, sinon il doit être NULL. Un pointeur vers un tableau de trois masques de bits d' DWORD , en spécifiant les bits de chaque pixel sont utilisés pour les composantes rouge, vert, et bleu de la couleur, respectivement. Pour plus d'informations sur les restrictions pour les champs de bits, consultez BITMAPINFOHEADER dans Kit de développement logiciel Windows.dwFlags
Spécifie si l'objet bitmap a un canal alpha. Peut être une combinaison de zéro ou plusieurs valeurs suivantes :createAlphaChannel peut être utilisé si nBPP est 32, et eCompression est BI_RGB. Si est spécifié, l'image créée a une valeur alpha (transparence) pour chaque pixel, stockée dans le 4ème octet de chaque pixel (non utilisé dans une image de 32 bits non alpha). Ce canal alpha est utilisé automatiquement en appelant CImage::AlphaBlend.
Notes
Dans les appels à CImage::Draw, les images avec un canal alpha sont automatiquement une fusion alpha à la destination.
Valeur de retour
TRUE si l'opération a réussi. Sinon FALSE.
Exemple
L'exemple suivant crée une bitmap du pixel 100x100, à l'aide de 16 bits pour encoder chaque pixel. Dans un pixel 16 bits donné, les bits 0-3 encodent le composant rouge, les bits 4-7 encodent vert, et les bits 8-11 encodent bleu. Les 4 bits restants sont non utilisés.
DWORD adwBitmasks[3] = { 0x0000000f, 0x000000f0, 0x00000f00 };
m_myImage.CreateEx(100, 100, 16, BI_BITFIELDS, adwBitmasks, 0);
Configuration requise
Header: atlimage.h