Partager via


La classe CBitmap

Encapsule une bitmap GDI (Graphics Device Interface) Windows et fournit des fonctions membres pour la manipuler.

Syntaxe

class CBitmap : public CGdiObject

Membres

Constructeurs publics

Nom Description
CBitmap::CBitmap Construit un objet CBitmap.

Méthodes publiques

Nom Description
CBitmap::CreateBitmap Initialise l’objet avec une bitmap de mémoire dépendante de l’appareil qui a une largeur, une hauteur et un modèle de bits spécifiés.
CBitmap::CreateBitmapIndirect Initialise l’objet avec une bitmap avec la largeur, la hauteur et le modèle de bits (si l’un est spécifié) donné dans une BITMAP structure.
CBitmap::CreateCompatibleBitmap Initialise l’objet avec une bitmap afin qu’il soit compatible avec un appareil spécifié.
CBitmap::CreateDiscardableBitmap Initialise l’objet avec une bitmap ignorée compatible avec un appareil spécifié.
CBitmap::FromHandle Retourne un pointeur vers un CBitmap objet lorsqu’un handle est donné à une bitmap Windows HBITMAP .
CBitmap::GetBitmap Remplit une BITMAP structure avec des informations sur la bitmap.
CBitmap::GetBitmapBits Copie les bits de la bitmap spécifiée dans la mémoire tampon spécifiée.
CBitmap::GetBitmapDimension Retourne la largeur et la hauteur de la bitmap. La hauteur et la largeur sont supposées avoir été définies précédemment par la SetBitmapDimension fonction membre.
CBitmap::LoadBitmap Initialise l’objet en chargeant une ressource bitmap nommée à partir du fichier exécutable de l’application et en attachant la bitmap à l’objet.
CBitmap::LoadMappedBitmap Charge une bitmap et mappe les couleurs aux couleurs système actuelles.
CBitmap::LoadOEMBitmap Initialise l’objet en chargeant une bitmap Windows prédéfinie et en attachant la bitmap à l’objet.
CBitmap::SetBitmapBits Définit les bits d’une bitmap sur les valeurs de bits spécifiées.
CBitmap::SetBitmapDimension Affecte une largeur et une hauteur à une bitmap en unités de 0,1 millimètre.

Opérateurs publics

Nom Description
CBitmap::operator HBITMAP Retourne le handle Windows attaché à l’objet CBitmap .

Notes

Pour utiliser un CBitmap objet, construisez l’objet, attachez un handle bitmap à celui-ci avec l’une des fonctions membres d’initialisation, puis appelez les fonctions membres de l’objet.

Pour plus d’informations sur l’utilisation d’objets graphiques tels que CBitmap, consultez Objets graphiques.

Hiérarchie d'héritage

CObject

CGdiObject

CBitmap

Spécifications

En-tête : afxwin.h

CBitmap::CBitmap

Construit un objet CBitmap.

CBitmap();

Notes

L’objet résultant doit être initialisé avec l’une des fonctions membres d’initialisation.

CBitmap::CreateBitmap

Initialise une image bitmap de mémoire dépendante de l’appareil avec la largeur, la hauteur et le modèle binaire spécifiés.

BOOL CreateBitmap(
    int nWidth,
    int nHeight,
    UINT nPlanes,
    UINT nBitcount,
    const void* lpBits);

Paramètres

nWidth
Spécifie la largeur (en pixels) de l’image bitmap.

nHeight
Spécifie la hauteur (en pixels) de l’image bitmap.

nPlanes
Spécifie le nombre de plans de couleur de l’image bitmap.

nBitcount
Spécifie le nombre de bits de couleur par pixel d’affichage.

lpBits
Pointe vers un tableau d’octets qui contient les valeurs de bit de l’image bitmap initiale. Si c’est NULLle cas, la nouvelle bitmap est laissée non initialisée.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Pour une image bitmap de couleur, le paramètre nPlanes ou nBitcount doit être défini avec la valeur 1. Si ces deux paramètres sont définis avec la valeur 1, CreateBitmap crée une image bitmap monochrome.

Bien qu’une bitmap ne puisse pas être sélectionnée directement pour un appareil d’affichage, elle peut être sélectionnée comme bitmap actuelle pour un « contexte d’appareil mémoire » à l’aide CDC::SelectObject et copiée dans n’importe quel contexte d’appareil compatible à l’aide de la CDC::BitBlt fonction.

Quand vous en avez terminé avec l’objet CBitmap créé par la fonction CreateBitmap , commencez par sélectionner l’image bitmap hors du contexte de périphérique, puis supprimez l’objet CBitmap .

Pour plus d’informations, consultez la description du bmBits champ dans la BITMAP structure. La BITMAP structure est décrite sous la CBitmap::CreateBitmapIndirect fonction membre.

CBitmap::CreateBitmapIndirect

Initialise une bitmap qui a la largeur, la hauteur et le modèle de bits (si l’un est spécifié) donné dans la structure pointée par lpBitmap.

BOOL CreateBitmapIndirect(LPBITMAP lpBitmap);

Paramètres

lpBitmap
Pointe vers une BITMAP structure qui contient des informations sur la bitmap.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Bien qu’une bitmap ne puisse pas être sélectionnée directement pour un appareil d’affichage, elle peut être sélectionnée comme bitmap actuelle pour un contexte d’appareil mémoire en utilisant CDC::SelectObject et copiée dans n’importe quel contexte d’appareil compatible à l’aide de la ou CDC::StretchBlt de la CDC::BitBlt fonction. (La CDC::PatBlt fonction peut copier la bitmap du pinceau actuel directement dans le contexte de l’appareil d’affichage.)

Si la BITMAP structure pointée par le lpBitmap paramètre a été remplie à l’aide de la GetObject fonction, les bits de la bitmap ne sont pas spécifiés et la bitmap n’est pas initialisée. Pour initialiser la bitmap, une application peut utiliser une fonction telle que CDC::BitBlt ou SetDIBits pour copier les bits de la bitmap identifiée par le premier paramètre de CGdiObject::GetObject la bitmap créée par CreateBitmapIndirect.

Lorsque vous avez terminé avec l’objet CBitmap créé avec CreateBitmapIndirect la fonction, sélectionnez d’abord la bitmap hors du contexte de l’appareil, puis supprimez l’objet CBitmap .

CBitmap::CreateCompatibleBitmap

Initialise une bitmap compatible avec l’appareil spécifié par pDC.

BOOL CreateCompatibleBitmap(
    CDC* pDC,
    int nWidth,
    int nHeight);

Paramètres

pDC
Spécifie le contexte de l’appareil.

nWidth
Spécifie la largeur (en pixels) de l’image bitmap.

nHeight
Spécifie la hauteur (en pixels) de l’image bitmap.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

La bitmap a le même nombre de plans de couleurs ou le même format bits par pixel que le contexte d’appareil spécifié. Il peut être sélectionné comme bitmap actuelle pour n’importe quel appareil mémoire compatible avec celui spécifié par pDC.

S’il pDC s’agit d’un contexte d’appareil mémoire, la bitmap retournée a le même format que la bitmap actuellement sélectionnée dans ce contexte d’appareil. Un « contexte d’appareil mémoire » est un bloc de mémoire qui représente une surface d’affichage. Il peut être utilisé pour préparer des images en mémoire avant de les copier dans la surface d’affichage réelle de l’appareil compatible.

Lorsqu’un contexte d’appareil mémoire est créé, GDI sélectionne automatiquement une bitmap de stock monochrome pour celle-ci.

Étant donné qu’un contexte d’appareil de mémoire de couleur peut avoir sélectionné des bitmaps de couleur ou monochromes, le format de la bitmap retournée par la CreateCompatibleBitmap fonction n’est pas toujours le même ; toutefois, le format d’une bitmap compatible pour un contexte d’appareil non-mémoire est toujours au format de l’appareil.

Lorsque vous avez terminé avec l’objet CBitmap créé avec la CreateCompatibleBitmap fonction, sélectionnez d’abord la bitmap hors du contexte de l’appareil, puis supprimez l’objet CBitmap .

CBitmap::CreateDiscardableBitmap

Initialise une bitmap ignorée compatible avec le contexte de l’appareil identifié par pDC.

BOOL CreateDiscardableBitmap(
    CDC* pDC,
    int nWidth,
    int nHeight);

Paramètres

pDC
Spécifie un contexte d’appareil.

nWidth
Spécifie la largeur (en bits) de la bitmap.

nHeight
Spécifie la hauteur (en bits) de la bitmap.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

La bitmap a le même nombre de plans de couleurs ou le même format bits par pixel que le contexte d’appareil spécifié. Une application peut sélectionner cette bitmap comme bitmap actuelle pour un appareil mémoire compatible avec celui spécifié par pDC.

Windows peut ignorer une bitmap créée par cette fonction uniquement si une application ne l’a pas sélectionnée dans un contexte d’affichage. Si Windows ignore la bitmap lorsqu’elle n’est pas sélectionnée et que l’application tente ultérieurement de la sélectionner, la CDC::SelectObject fonction retourne NULL.

Lorsque vous avez terminé avec l’objet CBitmap créé avec la CreateDiscardableBitmap fonction, sélectionnez d’abord la bitmap hors du contexte de l’appareil, puis supprimez l’objet CBitmap .

CBitmap::FromHandle

Retourne un pointeur vers un CBitmap objet lorsqu’un handle est donné à une bitmap GDI Windows.

static CBitmap* PASCAL FromHandle(HBITMAP hBitmap);

Paramètres

hBitmap
Spécifie une bitmap GDI Windows.

Valeur de retour

Pointeur vers un CBitmap objet en cas de réussite ; sinon NULL.

Notes

Si un CBitmap objet n’est pas déjà attaché au handle, un objet temporaire CBitmap est créé et attaché. Cet objet temporaire CBitmap est valide uniquement jusqu’à la prochaine fois que l’application a un temps d’inactivité dans sa boucle d’événements, auquel cas tous les objets graphiques temporaires sont supprimés. Une autre façon de dire ceci est que l’objet temporaire n’est valide que pendant le traitement d’un message de fenêtre.

CBitmap::GetBitmap

Récupère les propriétés d’image pour la bitmap jointe.

int GetBitmap(BITMAP* pBitMap);

Paramètres

pBitMap
Pointeur vers une BITMAP structure qui recevra les propriétés de l’image. Ce paramètre ne doit pas être NULL.

Valeur de retour

Différent de zéro si la méthode a réussi ; sinon 0.

Notes

CBitmap::GetBitmapBits

Copie le modèle de bits de la bitmap jointe dans la mémoire tampon spécifiée.

DWORD GetBitmapBits(
    DWORD dwCount,
    LPVOID lpBits) const;

Paramètres

dwCount
Nombre d’octets à copier dans la mémoire tampon.

lpBits
Pointeur vers la mémoire tampon qui recevra la bitmap.

Valeur de retour

Nombre d’octets copiés dans la mémoire tampon si la méthode a réussi ; sinon 0.

Notes

Permet CBitmap::GetBitmap de déterminer la taille de mémoire tampon requise.

CBitmap::GetBitmapDimension

Retourne la largeur et la hauteur de la bitmap.

CSize GetBitmapDimension() const;

Valeur de retour

Largeur et hauteur de la bitmap, mesurées en unités de 0,1 millimètre. La hauteur se trouve dans le cy membre de l’objet CSize , et la largeur se trouve dans le cx membre. Si la largeur et la hauteur bitmap n’ont pas été définies à l’aide SetBitmapDimensionde , la valeur de retour est 0.

Notes

La hauteur et la largeur sont supposées avoir été définies précédemment à l’aide de la SetBitmapDimension fonction membre.

CBitmap::LoadBitmap

Charge la ressource bitmap nommée par lpszResourceName ou identifiée par le numéro d’ID dans nIDResource le fichier exécutable de l’application.

BOOL LoadBitmap(LPCTSTR lpszResourceName);
BOOL LoadBitmap(UINT nIDResource);

Paramètres

lpszResourceName
Pointe vers une chaîne terminée par null qui contient le nom de la ressource bitmap.

nIDResource
Spécifie le numéro d’ID de ressource de la ressource bitmap.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

La bitmap chargée est attachée à l’objet CBitmap .

Si la bitmap identifiée par lpszResourceName n’existe pas ou si la mémoire est insuffisante pour charger la bitmap, la fonction retourne 0.

Vous pouvez utiliser la fonction pour supprimer la CGdiObject::DeleteObject bitmap chargée par la LoadBitmap fonction, ou le CBitmap destructeur supprime l’objet pour vous.

Attention

Avant de supprimer l’objet, vérifiez qu’il n’est pas sélectionné dans un contexte d’appareil.

Les bitmaps suivantes ont été ajoutées aux versions 3.1 et ultérieures de Windows :

OBM_UPARRROWIOBM_DNARROWIOBM_RGARROWIOBM_LFARROWI

Ces bitmaps sont introuvables dans les pilotes de périphérique pour les versions 3.0 et antérieures de Windows. Pour obtenir la liste complète des bitmaps et un affichage de leur apparence, consultez le Kit de développement logiciel (SDK) Windows.

CBitmap::LoadMappedBitmap

Appelez cette fonction membre pour charger une bitmap et mapper les couleurs aux couleurs système actuelles.

BOOL LoadMappedBitmap(
    UINT nIDBitmap,
    UINT nFlags = 0,
    LPCOLORMAP lpColorMap = NULL,
    int nMapSize = 0);

Paramètres

nIDBitmap
ID de la ressource bitmap.

nFlags
Indicateur pour une bitmap. Peut être égal à zéro ou CMB_MASKED.

lpColorMap
Pointeur vers une COLORMAP structure qui contient les informations de couleur nécessaires pour mapper les bitmaps. Si ce paramètre est NULLle cas, la fonction utilise la carte de couleurs par défaut.

nMapSize
Nombre de cartes de couleurs pointées par lpColorMap.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Par défaut, LoadMappedBitmap mappe les couleurs couramment utilisées dans les glyphes de bouton.

Pour plus d’informations sur la création d’une bitmap mappée, consultez la fonction CreateMappedBitmap Windows et la COLORMAP structure dans le Kit de développement logiciel (SDK) Windows.

CBitmap::LoadOEMBitmap

Charge une bitmap prédéfinie utilisée par Windows.

BOOL LoadOEMBitmap(UINT nIDBitmap);

Paramètres

nIDBitmap
Numéro d’ID de la bitmap Windows prédéfinie. Les valeurs possibles sont répertoriées ci-dessous à partir de WINDOWS.H:

OBM_BTNCORNERS
OBM_BTSIZE
OBM_CHECK
OBM_CHECKBOXES
OBM_CLOSE
OBM_COMBO
OBM_DNARROW
OBM_DNARROWD
OBM_DNARROWI
OBM_LFARROW
OBM_LFARROWD
OBM_LFARROWI

OBM_MNARROW
OBM_OLD_CLOSE
OBM_OLD_DNARROW
OBM_OLD_LFARROW
OBM_OLD_REDUCE
OBM_OLD_RESTORE
OBM_OLD_RGARROW
OBM_OLD_UPARROW
OBM_OLD_ZOOM
OBM_REDUCE
OBM_REDUCED

OBM_RESTORE
OBM_RESTORED
OBM_RGARROW
OBM_RGARROWD
OBM_RGARROWI
OBM_SIZE
OBM_UPARROW
OBM_UPARROW
OBM_UPARROWD
OBM_ZOOM
OBM_ZOOMD

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Les noms bitmap commençant OBM_OLD par représenter des bitmaps utilisées par les versions de Windows antérieures à la version 3.0.

Notez que la constante OEMRESOURCE doit être définie avant d’inclure WINDOWS.H afin d’utiliser l’une OBM_ des constantes.

CBitmap::operator HBITMAP

Utilisez cet opérateur pour obtenir le handle GDI Windows attaché de l’objet CBitmap .

operator HBITMAP() const;

Valeur de retour

En cas de réussite, un handle vers l’objet GDI Windows représenté par l’objet CBitmap ; sinon NULL.

Notes

Cet opérateur est un opérateur de cast, qui prend en charge l’utilisation directe d’un HBITMAP objet.

Pour plus d’informations sur l’utilisation d’objets graphiques, consultez Objets graphiques dans le Kit de développement logiciel (SDK) Windows.

CBitmap::SetBitmapBits

Définit les bits d’une bitmap sur les valeurs de bits données par lpBits.

DWORD SetBitmapBits(
    DWORD dwCount,
    const void* lpBits);

Paramètres

dwCount
Spécifie le nombre d’octets pointés par lpBits.

lpBits
Pointe vers le BYTE tableau qui contient les valeurs de pixel à copier dans l’objet CBitmap . Pour que la bitmap puisse afficher correctement son image, les valeurs doivent être mises en forme pour être conformes aux valeurs de hauteur, de largeur et de profondeur de couleur spécifiées lors de la création de l’instance CBitmap . Pour plus d’informations, consultez CBitmap::CreateBitmap.

Valeur de retour

Nombre d’octets utilisés pour définir les bits bitmap ; 0 si la fonction échoue.

CBitmap::SetBitmapDimension

Affecte une largeur et une hauteur à une bitmap en unités de 0,1 millimètre.

CSize SetBitmapDimension(
    int nWidth,
    int nHeight);

Paramètres

nWidth
Spécifie la largeur de la bitmap (en unités de 0,1 millimètre).

nHeight
Spécifie la hauteur de la bitmap (en unités de 0,1 millimètre).

Valeur de retour

Dimensions bitmap précédentes. La hauteur se trouve dans la cy variable membre de l’objet CSize , et la largeur se trouve dans la cx variable membre.

Notes

L’ID de groupe n’utilise pas ces valeurs, sauf pour les renvoyer lorsqu’une application appelle la GetBitmapDimension fonction membre.

Voir aussi

Exemple MFC MDI
CGdiObject Classe
Graphique hiérarchique