Partager via


La classe CImage

CImage fournit une prise en charge améliorée de la bitmap, notamment la possibilité de charger et d’enregistrer des images au format JPEG, GIF, BMP et PNG (Portable Network Graphics).

Important

Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.

Syntaxe

class CImage

Membres

Constructeurs publics

Nom Description
CImage::CImage Constructeur .

Méthodes publiques

Nom Description
CImage::AlphaBlend Affiche des bitmaps qui ont des pixels transparents ou semi-transparents.
CImage::Attach Attache un HBITMAPCImage objet. Peut être utilisé avec des bitmaps de section non DIB ou des bitmaps de section DIB.
CImage::BitBlt Copie une bitmap du contexte de l’appareil source dans ce contexte d’appareil actuel.
CImage::Create Crée une bitmap de section DIB et l’attache à l’objet précédemment construit CImage .
CImage::CreateEx Crée une bitmap de section DIB (avec des paramètres supplémentaires) et l’attache à l’objet précédemment construit CImage .
CImage::Destroy Détache la bitmap de l’objet CImage et détruit la bitmap.
CImage::Detach Détache la bitmap d’un CImage objet.
CImage::Draw Copie une bitmap à partir d’un rectangle source dans un rectangle de destination. Draw étire ou compresse la bitmap pour qu’elle corresponde aux dimensions du rectangle de destination, le cas échéant, et gère le mélange alpha et les couleurs transparentes.
CImage::GetBits Récupère un pointeur vers les valeurs de pixels réelles de la bitmap.
CImage::GetBPP Récupère les bits par pixel.
CImage::GetColorTable Récupère les valeurs de couleur rouge, vert, bleu (RVB) à partir d’une plage d’entrées dans le tableau de couleurs.
CImage::GetDC Récupère le contexte de l’appareil dans lequel la bitmap actuelle est sélectionnée.
CImage::GetExporterFilterString Recherche les formats d’image disponibles et leurs descriptions.
CImage::GetHeight Récupère la hauteur de l’image actuelle en pixels.
CImage::GetImporterFilterString Recherche les formats d’image disponibles et leurs descriptions.
CImage::GetMaxColorTableEntries Récupère le nombre maximal d’entrées dans la table de couleurs.
CImage::GetPitch Récupère le pitch de l’image actuelle, en octets.
CImage::GetPixel Récupère la couleur du pixel spécifié par x et y.
CImage::GetPixelAddress Récupère l’adresse d’un pixel donné.
CImage::GetTransparentColor Récupère la position de la couleur transparente dans la table de couleurs.
CImage::GetWidth Récupère la largeur de l’image actuelle en pixels.
CImage::IsDIBSection Détermine si la bitmap jointe est une section DIB.
CImage::IsIndexed Indique que les couleurs d’une bitmap sont mappées à une palette indexée.
CImage::IsNull Indique si une bitmap source est actuellement chargée.
CImage::IsTransparencySupported Indique si l’application prend en charge les bitmaps transparentes.
CImage::Load Charge une image à partir du fichier spécifié.
CImage::LoadFromResource Charge une image à partir de la ressource spécifiée.
CImage::MaskBlt Combine les données de couleur pour les bitmaps source et de destination à l’aide de l’opération de masque et de raster spécifiée.
CImage::PlgBlt Effectue un transfert de bloc de bits à partir d’un rectangle dans un contexte d’appareil source dans un parallélisme dans un contexte d’appareil de destination.
CImage::ReleaseDC Libère le contexte de l’appareil qui a été récupéré avec CImage::GetDC.
CImage::ReleaseGDIPlus Libère les ressources utilisées par GDI+. Doit être appelé pour libérer des ressources créées par un objet global CImage .
CImage::Save Enregistre une image en tant que type spécifié. Save impossible de spécifier les options d’image.
CImage::SetColorTable Définit les valeurs de couleur rouge, vert, bleu RVB) dans une plage d’entrées dans la table de couleurs de la section DIB.
CImage::SetPixel Définit le pixel aux coordonnées spécifiées sur la couleur spécifiée.
CImage::SetPixelIndexed Définit le pixel aux coordonnées spécifiées sur la couleur à l’index spécifié de la palette.
CImage::SetPixelRGB Définit le pixel aux coordonnées spécifiées sur la valeur rouge, verte, bleue (RVB) spécifiée.
CImage::SetTransparentColor Définit l’index de la couleur à traiter comme transparent. Une seule couleur dans une palette peut être transparente.
CImage::StretchBlt Copie une bitmap à partir d’un rectangle source dans un rectangle de destination, étirement ou compression de la bitmap pour tenir compte des dimensions du rectangle de destination, si nécessaire.
CImage::TransparentBlt Copie une bitmap avec une couleur transparente du contexte de l’appareil source dans ce contexte d’appareil actuel.

Opérateurs publics

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

Notes

CImage prend des bitmaps qui sont des sections bitmap indépendantes de l’appareil (DIB) ou non ; Toutefois, vous pouvez utiliser Create ou CImage::Load avec uniquement des sections DIB. Vous pouvez attacher une bitmap de section non DIB à un objet à l’aide Attachd’un CImage objet, mais vous ne pouvez pas utiliser les méthodes suivantesCImage, qui prennent uniquement en charge les bitmaps de section DIB :

Pour déterminer si une bitmap jointe est une section DIB, appelez IsDibSection.

Remarque

Dans Visual Studio .NET 2003, cette classe conserve le nombre d’objets CImage créés. Chaque fois que le nombre passe à 0, la fonction GdiplusShutdown est automatiquement appelée pour libérer les ressources utilisées par GDI+. Cela garantit que tous les CImage objets créés directement ou indirectement par des DLL sont toujours détruits correctement et qu’ils GdiplusShutdown ne sont pas appelés à partir de DllMain.

Remarque

L’utilisation d’objets globaux CImage dans une DLL n’est pas recommandée. Si vous devez utiliser un objet global CImage dans une DLL, appelez CImage::ReleaseGDIPlus pour libérer explicitement les ressources utilisées par GDI+.

CImage ne peut pas être sélectionné dans un nouveau CDC. CImage crée sa propre HDC image. Étant donné qu’une HBITMAP option ne peut être sélectionnée qu’en une HDC seule à la fois, l’associé HBITMAP à celui-ci CImage ne peut pas être sélectionné dans un autre HDC. Si vous avez besoin d’un CDC, récupérez-le HDC et CImage donnez-le à CDC::FromHandle.

Exemples

// Get a CDC for the image
CDC* pDC = CDC::FromHandle(m_myImage.GetDC());

// Use pDC here
pDC->Rectangle(0, 40, 100, 50);
m_myImage.ReleaseDC();

Lorsque vous utilisez CImage dans un projet MFC, notez les fonctions membres de votre projet qui attendent un pointeur vers un CBitmap objet. Si vous souhaitez utiliser CImage avec une telle fonction, comme CMenu::AppendMenu, utilisez CBitmap::FromHandle, passez-le, CImageHBITMAPet utilisez le retour CBitmap*.

void CMyDlg::OnRButtonDown(UINT nFlags, CPoint point)
{
    UNREFERENCED_PARAMETER(nFlags);

    CBitmap* pBitmap = CBitmap::FromHandle(m_myImage);
    m_pmenuPop->AppendMenu(0, ID_BMPCOMMAND, pBitmap);
    ClientToScreen(&point);
    m_pmenuPop->TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN, point.x,
    point.y, this);
}

À travers CImage, vous avez accès aux bits réels d’une section DIB. Vous pouvez utiliser un CImage objet n’importe où vous avez précédemment utilisé une section Win32 HBITMAP ou DIB.

Vous pouvez utiliser CImage à partir de MFC ou ATL.

Remarque

Lorsque vous créez un projet à l’aide CImagede , vous devez définir CString avant d’inclure atlimage.h. Si votre projet utilise ATL sans MFC, incluez atlstr.h avant d’inclure atlimage.h. Si votre projet utilise MFC (ou s’il s’agit d’un projet ATL avec prise en charge MFC), incluez afxstr.h avant d’inclure atlimage.h.

De même, vous devez inclure avant d’inclure atlimage.hatlimpl.cpp. Pour ce faire, incluez atlimage.h facilement votre pch.h (stdafx.h dans Visual Studio 2017 et versions antérieures).

Spécifications

En-têteatlimage.h:

CImage::AlphaBlend

Affiche des bitmaps qui ont des pixels transparents ou semi-transparents.

BOOL AlphaBlend(
    HDC hDestDC,
    int xDest,
    int yDest,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER) const throw();

BOOL AlphaBlend(
    HDC hDestDC,
    const POINT& pointDest,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER) const throw();

BOOL AlphaBlend(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER);

BOOL AlphaBlend(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER);

Paramètres

hDestDC
Gérer le contexte de l’appareil de destination.

xDest
Coordonnée x, en unités logiques, du coin supérieur gauche du rectangle de destination.

yDest
Coordonnée y, en unités logiques, du coin supérieur gauche du rectangle de destination.

bSrcAlpha
Valeur de transparence alpha à utiliser sur l’intégralité de la bitmap source. La 0xff par défaut (255) suppose que votre image est opaque et que vous souhaitez utiliser uniquement des valeurs alpha par pixel.

bBlendOp
Fonction de fusion alpha pour les bitmaps source et de destination, une valeur alpha globale à appliquer à l’intégralité de la bitmap source et les informations de format pour la bitmap source. Les fonctions de fusion source et de destination sont actuellement limitées à AC_SRC_OVER.

pointDest
Référence à une POINT structure qui identifie le coin supérieur gauche du rectangle de destination, en unités logiques.

nDestWidth
Largeur, en unités logiques, du rectangle de destination.

nDestHeight
Hauteur, en unités logiques, du rectangle de destination.

xSrc
Coordonnée x logique du coin supérieur gauche du rectangle source.

ySrc
Coordonnée y logique du coin supérieur gauche du rectangle source.

nSrcWidth
Largeur, en unités logiques, du rectangle source.

nSrcHeight
Hauteur, en unités logiques, du rectangle source.

rectDest
Référence à une RECT structure, identifiant la destination.

rectSrc
Référence à une RECT structure, identifiant la source.

Valeur de retour

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

Notes

Les bitmaps de fusion alpha prennent en charge le mélange de couleurs par pixel.

Lorsqu’elle bBlendOp est définie sur la valeur par défaut AC_SRC_OVER, la bitmap source est placée sur la bitmap de destination en fonction des valeurs alpha des pixels sources.

CImage::Attach

hBitmap Joint à un CImage objet.

void Attach(HBITMAP hBitmap, DIBOrientation eOrientation = DIBOR_DEFAULT) throw();

Paramètres

hBitmap
Handle à un HBITMAP.

eOrientation
Spécifie l’orientation de la bitmap. Il peut s'agir d'une des méthodes suivantes :

  • DIBOR_DEFAULT L’orientation de la bitmap est déterminée par le système d’exploitation.

  • DIBOR_BOTTOMUP Les lignes de l’image bitmap sont dans l’ordre inverse. Cela entraîne CImage::GetBits le retour d’un pointeur près de la fin de la mémoire tampon bitmap et CImage::GetPitch de retourner un nombre négatif.

  • DIBOR_TOPDOWN Les lignes de la bitmap sont dans l’ordre supérieur à inférieur. Cela entraîne CImage::GetBits le retour d’un pointeur vers le premier octet de la mémoire tampon bitmap et CImage::GetPitch de renvoyer un nombre positif.

Notes

La bitmap peut être une bitmap de section non DIB ou une bitmap de section DIB. Consultez IsDIBSection la liste des méthodes que vous pouvez utiliser uniquement avec les bitmaps de section DIB.

CImage::BitBlt

Copie une bitmap du contexte de l’appareil source dans ce contexte d’appareil actuel.

BOOL BitBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    DWORD dwROP = SRCCOPY) const throw();

BOOL BitBlt(
    HDC hDestDC,
    const POINT& pointDest,
    DWORD dwROP = SRCCOPY) const throw();

BOOL BitBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    DWORD dwROP = SRCCOPY) const throw();

BOOL BitBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const POINT& pointSrc,
    DWORD dwROP = SRCCOPY) const throw();

Paramètres

hDestDC
HDC de destination.

xDest
Coordonnée x logique du coin supérieur gauche du rectangle de destination.

yDest
Coordonnée y logique du coin supérieur gauche du rectangle de destination.

dwROP
Opération raster à effectuer. Les codes d’opération raster définissent exactement comment combiner les bits de la source, la destination et le modèle (tel que défini par le pinceau actuellement sélectionné) pour former la destination. Consultez BitBlt le Kit de développement logiciel (SDK) Windows pour obtenir la liste des autres codes d’opération raster et leurs descriptions.

pointDest
Structure POINT indiquant le coin supérieur gauche du rectangle de destination.

nDestWidth
Largeur, en unités logiques, du rectangle de destination.

nDestHeight
Hauteur, en unités logiques, du rectangle de destination.

xSrc
Coordonnée x logique du coin supérieur gauche du rectangle source.

ySrc
Coordonnée y logique du coin supérieur gauche du rectangle source.

rectDest
Structure RECT indiquant le rectangle de destination.

pointSrc
Structure POINT indiquant le coin supérieur gauche du rectangle source.

Valeur de retour

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

Notes

Pour plus d’informations, consultez BitBlt le Kit de développement logiciel (SDK) Windows.

CImage::CImage

Construit un objet CImage.

CImage() throw();

Notes

Une fois que vous avez construit l’objet, appelezCreate, Loadou LoadFromResourceAttach attachez une bitmap à l’objet.

Notez dans Visual Studio que cette classe conserve le nombre d’objets CImage créés. Chaque fois que le nombre passe à 0, la fonction GdiplusShutdown est automatiquement appelée pour libérer les ressources utilisées par GDI+. Cela garantit que tous les CImage objets créés directement ou indirectement par des DLL sont toujours détruits correctement et qu’ils GdiplusShutdown ne sont pas appelés à partir de DllMain.

L’utilisation d’objets globaux CImage dans une DLL n’est pas recommandée. Si vous devez utiliser un objet global CImage dans une DLL, appelez CImage::ReleaseGDIPlus pour libérer explicitement les ressources utilisées par GDI+.

CImage::Create

Crée une CImage bitmap et l’attache à l’objet précédemment construit CImage .

BOOL Create(
    int nWidth,
    int nHeight,
    int nBPP,
    DWORD dwFlags = 0) throw();

Paramètres

nWidth
Largeur de la CImage bitmap, en pixels.

nHeight
Hauteur de la CImage bitmap, en pixels. Si nHeight elle est positive, la bitmap est une DIB inférieure vers le haut et son origine est le coin inférieur gauche. Si nHeight elle est négative, la bitmap est une DIB en haut vers le bas et son origine est le coin supérieur gauche.

nBPP
Nombre de bits par pixel dans la bitmap. Généralement 4, 8, 16, 24 ou 32. Peut être 1 pour les bitmaps ou masques monochromes.

dwFlags
Spécifie si l’objet bitmap a un canal alpha. Il peut s’agir d’une combinaison de zéro ou plusieurs des valeurs suivantes :

  • createAlphaChannel Peut être utilisé uniquement si nBPP est 32, et eCompression est BI_RGB. Si elle est spécifiée, l’image créée a une valeur alpha (transparence) pour chaque pixel, stockée dans le 4ème octet de chaque pixel (inutilisée dans une image non alpha 32 bits). Ce canal alpha est automatiquement utilisé lors de l’appel CImage::AlphaBlend.

Remarque

Dans les appels à CImage::Draw, les images avec un canal alpha sont automatiquement fusionnées à la destination.

Valeur de retour

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

CImage::CreateEx

Crée une CImage bitmap et l’attache à l’objet précédemment construit CImage .

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

Paramètres

nWidth
Largeur de la CImage bitmap, en pixels.

nHeight
Hauteur de la CImage bitmap, en pixels. Si nHeight elle est positive, la bitmap est une DIB inférieure vers le haut et son origine est le coin inférieur gauche. Si nHeight elle est négative, la bitmap est une DIB en haut vers le bas et son origine est le coin supérieur gauche.

nBPP
Nombre de bits par pixel dans la bitmap. Généralement 4, 8, 16, 24 ou 32. Peut être 1 pour les bitmaps ou masques monochromes.

eCompression
Spécifie le type de compression d’une bitmap de bas en bas compressée (les DIB top-down ne peuvent pas être compressées). Peut avoir l’une des valeurs suivantes :

  • BI_RGB Le format n’est pas compressé. La spécification de cette valeur lors de l’appel CImage::CreateEx équivaut à appeler CImage::Create.

  • BI_BITFIELDS Le format est décompressé et le tableau de couleurs se compose de trois DWORD masques de couleur qui spécifient les composants rouges, verts et bleus, respectivement, de chaque pixel. Cela est valide lorsqu’il est utilisé avec des bitmaps 16 et 32 bpp.

pdwBitfields
Utilisé uniquement s’il eCompression est défini sur BI_BITFIELDS, sinon il doit être NULL. Pointeur vers un tableau de trois DWORD masques de bits, spécifiant respectivement les bits de chaque pixel utilisés pour les composants rouge, vert et bleu de la couleur. Pour plus d’informations sur les restrictions relatives aux champs de bits, consultez BITMAPINFOHEADER le Kit de développement logiciel (SDK) Windows.

dwFlags
Spécifie si l’objet bitmap a un canal alpha. Il peut s’agir d’une combinaison de zéro ou plusieurs des valeurs suivantes :

  • createAlphaChannel Peut être utilisé uniquement si nBPP est 32, et eCompression est BI_RGB. Si elle est spécifiée, l’image créée a une valeur alpha (transparence) pour chaque pixel, stockée dans le 4ème octet de chaque pixel (inutilisée dans une image non alpha 32 bits). Ce canal alpha est automatiquement utilisé lors de l’appel CImage::AlphaBlend.

    Remarque

    Dans les appels à CImage::Draw, les images avec un canal alpha sont automatiquement fusionnées à la destination.

Valeur de retour

TRUE si l'opération a réussi. FALSESinon.

Exemple

L’exemple suivant crée une bitmap de 100 x 100 pixels à l’aide de 16 bits pour encoder chaque pixel. Dans un pixel donné de 16 bits, les bits 0-3 encodent le composant rouge, les bits 4-7 encodent le vert et les bits 8-11 encodent en bleu. Les 4 bits restants ne sont pas utilisés.

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

CImage::Destroy

Détache la bitmap de l’objet CImage et détruit la bitmap.

void Destroy() throw();

CImage::Detach

Détache une bitmap d’un CImage objet.

HBITMAP Detach() throw();

Valeur de retour

Handle vers l’image bitmap détachée, ou NULL si aucune bitmap n’est attachée.

CImage::Draw

Copie une bitmap du contexte de l’appareil source dans le contexte actuel de l’appareil.

BOOL Draw(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight) const throw();

BOOL Draw(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc) const throw();

BOOL Draw(
    HDC hDestDC,
    int xDest,
    int yDest) const throw();

BOOL Draw(
    HDC hDestDC,
    const POINT& pointDest) const throw();

BOOL Draw(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight) const throw();

BOOL Draw(
    HDC hDestDC,
    const RECT& rectDest) const throw();

Paramètres

hDestDC
Handle vers le contexte de l’appareil de destination.

xDest
Coordonnée x, en unités logiques, du coin supérieur gauche du rectangle de destination.

yDest
Coordonnée y, en unités logiques, du coin supérieur gauche du rectangle de destination.

nDestWidth
Largeur, en unités logiques, du rectangle de destination.

nDestHeight
Hauteur, en unités logiques, du rectangle de destination.

xSrc
Coordonnée x, en unités logiques, du coin supérieur gauche du rectangle source.

ySrc
Coordonnée y, en unités logiques, du coin supérieur gauche du rectangle source.

nSrcWidth
Largeur, en unités logiques, du rectangle source.

nSrcHeight
Hauteur, en unités logiques, du rectangle source.

rectDest
Référence à une RECT structure, identifiant la destination.

rectSrc
Référence à une RECT structure, identifiant la source.

pointDest
Référence à une POINT structure qui identifie le coin supérieur gauche du rectangle de destination, en unités logiques.

Valeur de retour

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

Notes

Draw effectue la même opération que StretchBlt, sauf si l’image contient une couleur transparente ou un canal alpha. Dans ce cas, Draw effectue la même opération que l’une ou AlphaBlend l’autre TransparentBlt des opérations requises.

Pour les versions de Draw ce qui ne spécifie pas de rectangle source, l’image source entière est la valeur par défaut. Pour la version de Draw ce qui ne spécifie pas de taille pour le rectangle de destination, la taille de l’image source est la valeur par défaut et aucun étirement ou réduction ne se produit.

CImage::GetBits

Récupère un pointeur vers les valeurs de bits réelles d’un pixel donné dans une bitmap.

void* GetBits() throw();

Valeur de retour

Pointeur vers la mémoire tampon bitmap. Si la bitmap est une DIB de bas en bas, le pointeur pointe vers la fin de la mémoire tampon. Si la bitmap est une DIB en haut vers le bas, le pointeur pointe vers le premier octet de la mémoire tampon.

Notes

À l’aide de ce pointeur, ainsi que la valeur retournée par GetPitch, vous pouvez localiser et modifier des pixels individuels dans une image.

Remarque

Cette méthode prend uniquement en charge les bitmaps de section DIB ; par conséquent, vous accédez aux pixels d’un CImage objet de la même façon que les pixels d’une section DIB. Le pointeur retourné pointe vers le pixel à l’emplacement (0, 0).

CImage::GetBPP

Récupère la valeur bits par pixel.

int GetBPP() const throw();

Valeur de retour

Nombre de bits par pixel.

Notes

Cette valeur détermine le nombre de bits qui définissent chaque pixel et le nombre maximal de couleurs dans la bitmap.

Les bits par pixel sont généralement 1, 4, 8, 16, 24 ou 32. Pour plus d’informations sur cette valeur, consultez le biBitCount membre BITMAPINFOHEADER du Kit de développement logiciel (SDK) Windows.

CImage::GetColorTable

Récupère les valeurs de couleur rouge, vert, bleu (RVB) à partir d’une plage d’entrées dans la palette de la section DIB.

void GetColorTable(
    UINT iFirstColor,
    UINT nColors,
    RGBQUAD* prgbColors) const throw();

Paramètres

iFirstColor
Index de la table de couleurs de la première entrée à récupérer.

nColors
Nombre d’entrées de tableau de couleurs à récupérer.

prgbColors
Pointeur vers le tableau de RGBQUAD structures pour récupérer les entrées de tableau de couleurs.

CImage::GetDC

Récupère le contexte de l’appareil sur lequel l’image est actuellement sélectionnée.

HDC GetDC() const throw();

Valeur de retour

Handle d'un contexte de périphérique.

Notes

Pour chaque appel à GetDC, vous devez avoir un appel ultérieur à ReleaseDC.

CImage::GetExporterFilterString

Recherche les formats d’image disponibles pour l’enregistrement d’images.

static HRESULT GetExporterFilterString(
    CSimpleString& strExporters,
    CSimpleArray<GUID>& aguidFileTypes,
    LPCTSTR pszAllFilesDescription = NULL,
    DWORD dwExclude = excludeDefaultSave,
    TCHAR chSeparator = _T('|'));

Paramètres

strExporters
Référence à un objet CSimpleString. Pour plus d’informations, consultez la section Remarques.

aguidFileTypes
Tableau de GUID, avec chaque élément correspondant à l’un des types de fichiers dans la chaîne. Dans l’exemple ci-dessous pszAllFilesDescription , aguidFileTypes[0] les GUID_NULL valeurs de tableau restantes sont les formats de fichier image pris en charge par le système d’exploitation actuel.

Remarque

Pour obtenir la liste complète des constantes, consultez Les constantes de format de fichier image dans le Kit de développement logiciel (SDK) Windows.

pszAllFilesDescription
Si ce paramètre n’est pas NULLle cas, la chaîne de filtre aura un filtre supplémentaire au début de la liste. Ce filtre aura la valeur actuelle de pszAllFilesDescription sa description et accepte les fichiers d’une extension prise en charge par tout autre exportateur de la liste.

Par exemple :

//First filter in the list will be titled "All Image Files", and
//will accept files with any extension supported by any exporter.
CImage::GetExporterFilterString(
    strExporters, aguidFileTypes,
_T("All Image Files"));

dwExclude
Ensemble d’indicateurs de bits spécifiant les types de fichiers à exclure de la liste. Les indicateurs autorisés sont les suivants :

  • excludeGIF = 0x01 Exclut les fichiers GIF.

  • excludeBMP = 0x02 Exclut les fichiers BMP (Bitmap Windows).

  • excludeEMF = 0x04 Exclut les fichiers EMF (métafichier amélioré).

  • excludeWMF = 0x08 Exclut les fichiers WMF (Métafichier Windows).

  • excludeJPEG = 0x10 Exclut les fichiers JPEG.

  • excludePNG = 0x20 Exclut les fichiers PNG.

  • excludeTIFF = 0x40 Exclut les fichiers TIFF.

  • excludeIcon = 0x80 Exclut les fichiers ICO (icône Windows).

  • excludeOther = 0x80000000 Exclut tout autre type de fichier non répertorié ci-dessus.

  • excludeDefaultLoad = 0 Pour le chargement, tous les types de fichiers sont inclus par défaut

  • excludeDefaultSave = excludeIcon | excludeEMF | excludeWMF Pour l’enregistrement, ces fichiers sont exclus par défaut, car ils ont généralement des exigences particulières.

chSeparator
Séparateur utilisé entre les formats d’image. Pour plus d’informations, consultez la section Remarques.

Valeur de retour

Une norme HRESULT.

Notes

Vous pouvez transmettre la chaîne de format résultante à votre objet MFC CFileDialog pour exposer les extensions de fichier des formats d’image disponibles dans la boîte de dialogue Enregistrer sous du fichier.

Le paramètre strExporter a le format :

file description 0|*.ext0|file description 1|*.ext1|...file description N|*.extN||

| est le caractère séparateur spécifié par chSeparator. Par exemple :

"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"

Utilisez le séparateur | par défaut si vous passez cette chaîne à un objet MFC CFileDialog . Utilisez le séparateur '\0' Null si vous passez cette chaîne à une boîte de dialogue d’enregistrement de fichier commune.

CImage::GetHeight

Récupère la hauteur, en pixels, d’une image.

int GetHeight() const throw();

Valeur de retour

Hauteur, en pixels, d’une image.

CImage::GetImporterFilterString

Recherche les formats d’image disponibles pour le chargement d’images.

static HRESULT GetImporterFilterString(
    CSimpleString& strImporters,
    CSimpleArray<GUID>& aguidFileTypes,
    LPCTSTR pszAllFilesDescription = NULL,
    DWORD dwExclude = excludeDefaultLoad,
    TCHAR chSeparator = _T('|'));

Paramètres

strImporters
Référence à un objet CSimpleString. Pour plus d’informations, consultez la section Remarques.

aguidFileTypes
Tableau de GUID, avec chaque élément correspondant à l’un des types de fichiers dans la chaîne. Dans l’exemple ci-dessous pszAllFilesDescription , *aguidFileTypes[0]* est GUID_NULL avec les valeurs de tableau restantes sont les formats de fichier image pris en charge par le système d’exploitation actuel.

Remarque

Pour obtenir la liste complète des constantes, consultez Les constantes de format de fichier image dans le Kit de développement logiciel (SDK) Windows.

pszAllFilesDescription
Si ce paramètre n’est pas NULLle cas, la chaîne de filtre aura un filtre supplémentaire au début de la liste. Ce filtre aura la valeur actuelle de pszAllFilesDescription sa description et accepte les fichiers d’une extension prise en charge par tout autre exportateur de la liste.

Par exemple :

//First filter in the list will be titled "All Image Files", and
//will accept files with any extension supported by any importer.
CImage::GetImporterFilterString(
    strImporters, aguidFileTypes,
_T("All Image Files"));

dwExclude
Ensemble d’indicateurs de bits spécifiant les types de fichiers à exclure de la liste. Les indicateurs autorisés sont les suivants :

  • excludeGIF = 0x01 Exclut les fichiers GIF.

  • excludeBMP = 0x02 Exclut les fichiers BMP (Bitmap Windows).

  • excludeEMF = 0x04 Exclut les fichiers EMF (métafichier amélioré).

  • excludeWMF = 0x08 Exclut les fichiers WMF (Métafichier Windows).

  • excludeJPEG = 0x10 Exclut les fichiers JPEG.

  • excludePNG = 0x20 Exclut les fichiers PNG.

  • excludeTIFF = 0x40 Exclut les fichiers TIFF.

  • excludeIcon = 0x80 Exclut les fichiers ICO (icône Windows).

  • excludeOther = 0x80000000 Exclut tout autre type de fichier non répertorié ci-dessus.

  • excludeDefaultLoad = 0 Pour le chargement, tous les types de fichiers sont inclus par défaut

  • excludeDefaultSave = excludeIcon | excludeEMF | excludeWMF Pour l’enregistrement, ces fichiers sont exclus par défaut, car ils ont généralement des exigences particulières.

chSeparator
Séparateur utilisé entre les formats d’image. Pour plus d’informations, consultez la section Remarques.

Notes

Vous pouvez transmettre la chaîne de format obtenue à votre objet MFC CFileDialog pour exposer les extensions de fichier des formats d’image disponibles dans la boîte de dialogue Ouvrir le fichier.

Le paramètre strImporter a le format :

' description du fichier 0|. ext0|description du fichier 1|. ext1|... description du fichier N|*.extN||

| est le caractère séparateur spécifié par chSeparator. Par exemple :

"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"

Utilisez le séparateur | par défaut si vous passez cette chaîne à un objet MFC CFileDialog . Utilisez le séparateur '\0' Null si vous passez cette chaîne à une boîte de dialogue Ouvrir de fichier commune.

CImage::GetMaxColorTableEntries

Récupère le nombre maximal d’entrées dans la table de couleurs.

int GetMaxColorTableEntries() const throw();

Valeur de retour

Nombre d’entrées dans la table de couleurs.

Notes

Cette méthode prend uniquement en charge les bitmaps de section DIB.

CImage::GetPitch

Récupère la hauteur d’une image.

int GetPitch() const throw();

Valeur de retour

Hauteur de l’image. Si la valeur de retour est négative, la bitmap est une DIB inférieure vers le haut et son origine est le coin inférieur gauche. Si la valeur de retour est positive, la bitmap est une DIB en haut vers le bas et son origine est le coin supérieur gauche.

Notes

La hauteur est la distance, en octets, entre deux adresses mémoire qui représentent le début d’une ligne bitmap et le début de la ligne bitmap suivante. Étant donné que la hauteur est mesurée en octets, la hauteur d’une image vous aide à déterminer le format de pixel. L’emplacement peut également inclure une mémoire supplémentaire, réservée à la bitmap.

GetBits Permet GetPitch de rechercher des pixels individuels d’une image.

Remarque

Cette méthode prend uniquement en charge les bitmaps de section DIB.

CImage::GetPixel

Récupère la couleur du pixel à l’emplacement spécifié par x et y.

COLORREF GetPixel(int x, int y) const throw();

Paramètres

x
Coordonnée x du pixel.

y
Coordonnée y du pixel.

Valeur de retour

Valeur rouge, verte, bleue (RVB) du pixel. Si le pixel est en dehors de la région de découpage actuelle, la valeur de retour est CLR_INVALID.

CImage::GetPixelAddress

Récupère l’adresse exacte d’un pixel.

void* GetPixelAddress(int x, int y) throw();

Paramètres

x
Coordonnée x du pixel.

y
Coordonnée y du pixel.

Notes

L’adresse est déterminée en fonction des coordonnées d’un pixel, de la hauteur de la bitmap et des bits par pixel.

Pour les formats qui ont moins de 8 bits par pixel, cette méthode retourne l’adresse de l’octet contenant le pixel. Par exemple, si votre format d’image a 4 bits par pixel, GetPixelAddress retourne l’adresse du premier pixel dans l’octet et que vous devez calculer pour 2 pixels par octet.

Remarque

Cette méthode prend uniquement en charge les bitmaps de section DIB.

CImage::GetTransparentColor

Récupère l’emplacement indexé de la couleur transparente dans la palette de couleurs.

LONG GetTransparentColor() const throw();

Valeur de retour

Index de la couleur transparente.

CImage::GetWidth

Récupère la largeur, en pixels, d’une image.

int GetWidth() const throw();

Valeur de retour

Largeur de la bitmap, en pixels.

CImage::IsDIBSection

Détermine si la bitmap jointe est une section DIB.

bool IsDIBSection() const throw();

Valeur de retour

TRUE si la bitmap jointe est une section DIB. FALSESinon.

Notes

Si la bitmap n’est pas une section DIB, vous ne pouvez pas utiliser les méthodes suivantes CImage , qui prennent uniquement en charge les bitmaps de section DIB :

CImage::IsIndexed

Détermine si les pixels d’une bitmap sont mappés à une palette de couleurs.

bool IsIndexed() const throw();

Valeur de retour

TRUE si indexé ; sinon FALSE.

Notes

Cette méthode ne retourne TRUE que si la bitmap est 8 bits (256 couleurs) ou moins.

Remarque

Cette méthode prend uniquement en charge les bitmaps de section DIB.

CImage::IsNull

Détermine si une bitmap est actuellement chargée.

bool IsNull() const throw();

Notes

Cette méthode retourne TRUE si une bitmap n’est pas actuellement chargée ; sinon FALSE.

CImage::IsTransparencySupported

Indique si l’application prend en charge les bitmaps transparentes.

static BOOL IsTransparencySupported() throw();

Valeur de retour

Différent de zéro si la plateforme actuelle prend en charge la transparence. Sinon, 0.

Notes

Si la valeur de retour est différente de zéro et que la transparence est prise en charge, un appel à AlphaBlend, TransparentBltou Draw gère les couleurs transparentes.

CImage::Load

Charge une image.

HRESULT Load(LPCTSTR pszFileName) throw();
HRESULT Load(IStream* pStream) throw();

Paramètres

pszFileName
Pointeur vers une chaîne contenant le nom du fichier image à charger.

pStream
Pointeur vers un flux contenant le nom du fichier image à charger.

Valeur de retour

Une norme HRESULT.

Notes

Charge l’image spécifiée par pszFileName ou pStream.

Les types d’images valides sont BMP, GIF, JPEG, PNG et TIFF.

CImage::LoadFromResource

Charge une image à partir d’une BITMAP ressource.

void LoadFromResource(
    HINSTANCE hInstance,
    LPCTSTR pszResourceName) throw();

void LoadFromResource(
    HINSTANCE hInstance,
    UINT nIDResource) throw();

Paramètres

hInstance
Gérez vers une instance du module qui contient l’image à charger.

pszResourceName
Pointeur vers la chaîne contenant le nom de la ressource contenant l’image à charger.

nIDResource
ID de la ressource à charger.

Notes

La ressource doit être de type BITMAP.

CImage::MaskBlt

Combine les données de couleur pour les bitmaps source et de destination à l’aide de l’opération de masque et de raster spécifiée.

BOOL MaskBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    HBITMAP hbmMask,
    int xMask,
    int yMask,
    DWORD dwROP = SRCCOPY) const throw();

BOOL MaskBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const POINT& pointSrc,
    HBITMAP hbmMask,
    const POINT& pointMask,
    DWORD dwROP = SRCCOPY) const throw();

BOOL MaskBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    HBITMAP hbmMask,
    DWORD dwROP = SRCCOPY) const throw();

BOOL MaskBlt(
    HDC hDestDC,
    const POINT& pointDest,
    HBITMAP hbmMask,
    DWORD dwROP = SRCCOPY) const throw();

Paramètres

hDestDC
Handle du module dont l’exécutable contient la ressource.

xDest
Coordonnée x, en unités logiques, du coin supérieur gauche du rectangle de destination.

yDest
Coordonnée y, en unités logiques, du coin supérieur gauche du rectangle de destination.

nDestWidth
Largeur, en unités logiques, du rectangle de destination et de la bitmap source.

nDestHeight
Hauteur, en unités logiques, du rectangle de destination et de la bitmap source.

xSrc
Coordonnée x logique du coin supérieur gauche de la bitmap source.

ySrc
Coordonnée y logique du coin supérieur gauche de la bitmap source.

hbmMask
Gérez l’image bitmap de masque monochrome combinée à la bitmap de couleur dans le contexte de l’appareil source.

xMask
Décalage horizontal des pixels pour la bitmap de masque spécifiée par le hbmMask paramètre.

yMask
Décalage de pixel vertical pour la bitmap de masque spécifiée par le hbmMask paramètre.

dwROP
Spécifie à la fois les codes d’opération de rastérisation au premier plan et en arrière-plan que la méthode utilise pour contrôler la combinaison de données sources et de destination. Le code d’opération raster en arrière-plan est stocké dans l’octet de haut ordre du mot de haute commande de cette valeur ; le code d’opération de rastérisation de premier plan est stocké dans l’octet de bas ordre du mot de haut ordre de cette valeur ; le mot de faible ordre de cette valeur est ignoré et doit être égal à zéro. Pour une discussion sur le premier plan et l’arrière-plan dans le contexte de cette méthode, consultez MaskBlt le Kit de développement logiciel (SDK) Windows. Pour obtenir la liste des codes d’opération raster courants, consultez BitBlt le Kit de développement logiciel (SDK) Windows.

rectDest
Référence à une RECT structure, identifiant la destination.

pointSrc
Structure POINT indiquant le coin supérieur gauche du rectangle source.

pointMask
Structure POINT indiquant le coin supérieur gauche de la bitmap du masque.

pointDest
Référence à une POINT structure qui identifie le coin supérieur gauche du rectangle de destination, en unités logiques.

Valeur de retour

Différent de zéro s’il réussit, sinon 0.

Notes

Cette méthode s’applique uniquement à Windows NT, versions 4.0 et ultérieures.

CImage::operator HBITMAP

Utilisez cet opérateur pour obtenir le handle GDI Windows attaché de l’objet CImage . Cet opérateur est un opérateur de cast, qui prend en charge l’utilisation directe d’un HBITMAP objet.

CImage::PlgBlt

Effectue un transfert de bloc de bits à partir d’un rectangle dans un contexte d’appareil source dans un parallélisme dans un contexte d’appareil de destination.

BOOL PlgBlt(
    HDC hDestDC,
    const POINT* pPoints,
    HBITMAP hbmMask = NULL) const throw();

BOOL PlgBlt(
    HDC hDestDC,
    const POINT* pPoints,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    HBITMAP hbmMask = NULL,
    int xMask = 0,
    int yMask = 0) const throw();

BOOL PlgBlt(
    HDC hDestDC,
    const POINT* pPoints,
    const RECT& rectSrc,
    HBITMAP hbmMask = NULL,
    const POINT& pointMask = CPoint(0, 0)) const throw();

Paramètres

hDestDC
Handle vers le contexte de l’appareil de destination.

pPoints
Pointeur vers un tableau de trois points dans l’espace logique qui identifie trois angles du parallélisme de destination. Le coin supérieur gauche du rectangle source est mappé au premier point de ce tableau, à l’angle supérieur droit au deuxième point de ce tableau et au coin inférieur gauche au troisième point. Le coin inférieur droit du rectangle source est mappé au quatrième point implicite dans le parallélisme.

hbmMask
Handle vers une bitmap monochrome facultative utilisée pour masquer les couleurs du rectangle source.

xSrc
Coordonnée x, en unités logiques, du coin supérieur gauche du rectangle source.

ySrc
Coordonnée y, en unités logiques, du coin supérieur gauche du rectangle source.

nSrcWidth
Largeur, en unités logiques, du rectangle source.

nSrcHeight
Hauteur, en unités logiques, du rectangle source.

xMask
Coordonnée x du coin supérieur gauche de la bitmap monochrome.

yMask
Coordonnée y du coin supérieur gauche de la bitmap monochrome.

rectSrc
Référence à une RECT structure spécifiant les coordonnées du rectangle source.

pointMask
Structure POINT indiquant le coin supérieur gauche de la bitmap du masque.

Valeur de retour

Différent de zéro s’il réussit, sinon 0.

Notes

Si hbmMask elle identifie une bitmap monochrome valide, PlgBit utilise cette bitmap pour masquer les bits de données de couleur du rectangle source.

Cette méthode s’applique uniquement à Windows NT, versions 4.0 et ultérieures. Pour plus d’informations, consultez PlgBlt le Kit de développement logiciel (SDK) Windows.

CImage::ReleaseDC

Libère le contexte de l’appareil.

void ReleaseDC() const throw();

Notes

Étant donné qu’une seule bitmap peut être sélectionnée dans un contexte d’appareil à la fois, vous devez appeler ReleaseDC chaque appel à GetDC.

CImage::ReleaseGDIPlus

Libère les ressources utilisées par GDI+.

void ReleaseGDIPlus() throw();

Notes

Cette méthode doit être appelée pour libérer des ressources allouées par un objet global CImage . Consultez CImage::CImage.

CImage::Save

Enregistre une image dans le flux ou le fichier spécifié sur le disque.

HRESULT Save(
    IStream* pStream,
    REFGUID guidFileType) const throw();

HRESULT Save(
    LPCTSTR pszFileName,
    REFGUID guidFileType = GUID_NULL) const throw();

Paramètres

pStream
Pointeur vers un objet COM IStream contenant les données d’image de fichier.

pszFileName
Pointeur vers le nom de fichier de l’image.

guidFileType
Type de fichier dans lequel enregistrer l’image. Il peut s'agir d'une des méthodes suivantes :

  • ImageFormatBMP Image bitmap non compressée.

  • ImageFormatPNG Image compressée PNG (Portable Network Graphic).

  • ImageFormatJPEG Image compressée JPEG.

  • ImageFormatGIF Image compressée GIF.

Remarque

Pour obtenir la liste complète des constantes, consultez Les constantes de format de fichier image dans le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Une norme HRESULT.

Notes

Appelez cette fonction pour enregistrer l’image à l’aide d’un nom et d’un type spécifiés. Si le guidFileType paramètre n’est pas inclus, l’extension de fichier du nom de fichier est utilisée pour déterminer le format de l’image. Si aucune extension n’est fournie, l’image est enregistrée au format BMP.

CImage::SetColorTable

Définit les valeurs de couleur rouge, vert, bleu (RVB) pour une plage d’entrées dans la palette de la section DIB.

void SetColorTable(
    UINT iFirstColor,
    UINT nColors,
    const RGBQUAD* prgbColors) throw();

Paramètres

iFirstColor
Index de la table de couleurs de la première entrée à définir.

nColors
Nombre d’entrées de tableau de couleurs à définir.

prgbColors
Pointeur vers le tableau de RGBQUAD structures pour définir les entrées de tableau de couleurs.

Notes

Cette méthode prend uniquement en charge les bitmaps de section DIB.

CImage::SetPixel

Définit la couleur d’un pixel à un emplacement donné dans la bitmap.

void SetPixel(int x, int y, COLORREF color) throw();

Paramètres

x
Emplacement horizontal du pixel à définir.

y
Emplacement vertical du pixel à définir.

color
Couleur à laquelle vous définissez le pixel.

Notes

Cette méthode échoue si les coordonnées de pixels se trouvent en dehors de la région de découpage sélectionnée.

CImage::SetPixelIndexed

Définit la couleur de pixel sur la couleur située iIndex dans la palette de couleurs.

void SetPixelIndexed(int x, int y, int iIndex) throw();

Paramètres

x
Emplacement horizontal du pixel à définir.

y
Emplacement vertical du pixel à définir.

iIndex
Index d’une couleur dans la palette de couleurs.

CImage::SetPixelRGB

Définit le pixel aux emplacements spécifiés par x et y aux couleurs indiquées par r, get b, dans une image rouge, verte, bleue (RVB).

void SetPixelRGB(
    int x,
    int y,
    BYTE r,
    BYTE g,
    BYTE b) throw();

Paramètres

x
Emplacement horizontal du pixel à définir.

y
Emplacement vertical du pixel à définir.

r
Intensité de la couleur rouge.

g
Intensité de la couleur verte.

b
Intensité de la couleur bleue.

Notes

Les paramètres rouges, verts et bleus sont représentés par un nombre compris entre 0 et 255. Si vous définissez les trois paramètres sur zéro, la couleur combinée résultante est noire. Si vous définissez les trois paramètres sur 255, la couleur combinée résultante est blanche.

CImage::SetTransparentColor

Définit une couleur à un emplacement indexé donné comme transparent.

LONG SetTransparentColor(LONG iTransparentColor) throw();

Paramètres

iTransparentColor
Index, dans une palette de couleurs, de la couleur à définir sur transparent. Si -1, aucune couleur n’est définie sur transparente.

Valeur de retour

Index de la couleur précédemment définie comme transparente.

CImage::StretchBlt

Copie une bitmap du contexte de l’appareil source dans ce contexte d’appareil actuel.

BOOL StretchBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    DWORD dwROP = SRCCOPY) const throw();

BOOL StretchBlt(
    HDC hDestDC,
    const RECT& rectDest,
    DWORD dwROP = SRCCOPY) const throw();

BOOL StretchBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    DWORD dwROP = SRCCOPY) const throw();

BOOL StretchBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc,
    DWORD dwROP = SRCCOPY) const throw();

Paramètres

hDestDC
Handle vers le contexte de l’appareil de destination.

xDest
Coordonnée x, en unités logiques, du coin supérieur gauche du rectangle de destination.

yDest
Coordonnée y, en unités logiques, du coin supérieur gauche du rectangle de destination.

nDestWidth
Largeur, en unités logiques, du rectangle de destination.

nDestHeight
Hauteur, en unités logiques, du rectangle de destination.

dwROP
Opération raster à effectuer. Les codes d’opération raster définissent exactement comment combiner les bits de la source, la destination et le modèle (tel que défini par le pinceau actuellement sélectionné) pour former la destination. Consultez BitBlt le Kit de développement logiciel (SDK) Windows pour obtenir la liste des autres codes d’opération raster et leurs descriptions.

rectDest
Référence à une RECT structure, identifiant la destination.

xSrc
Coordonnée x, en unités logiques, du coin supérieur gauche du rectangle source.

ySrc
Coordonnée y, en unités logiques, du coin supérieur gauche du rectangle source.

nSrcWidth
Largeur, en unités logiques, du rectangle source.

nSrcHeight
Hauteur, en unités logiques, du rectangle source.

rectSrc
Référence à une RECT structure, identifiant la source.

Valeur de retour

Différent de zéro s’il réussit, sinon 0.

Notes

Pour plus d’informations, consultez StretchBlt le Kit de développement logiciel (SDK) Windows.

CImage::TransparentBlt

Copie une bitmap du contexte de l’appareil source dans ce contexte d’appareil actuel.

BOOL TransparentBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    UINT crTransparent = CLR_INVALID) const throw();

BOOL TransparentBlt(
    HDC hDestDC,
    const RECT& rectDest,
    UINT crTransparent = CLR_INVALID) const throw();

BOOL TransparentBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    UINT crTransparent = CLR_INVALID) const throw();

BOOL TransparentBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc,
    UINT crTransparent = CLR_INVALID) const throw();

Paramètres

hDestDC
Handle vers le contexte de l’appareil de destination.

xDest
Coordonnée x, en unités logiques, du coin supérieur gauche du rectangle de destination.

yDest
Coordonnée y, en unités logiques, du coin supérieur gauche du rectangle de destination.

nDestWidth
Largeur, en unités logiques, du rectangle de destination.

nDestHeight
Hauteur, en unités logiques, du rectangle de destination.

crTransparent
Couleur dans la bitmap source à traiter comme transparente. Par défaut, CLR_INVALIDindiquant que la couleur actuellement définie comme couleur transparente de l’image doit être utilisée.

rectDest
Référence à une RECT structure, identifiant la destination.

xSrc
Coordonnée x, en unités logiques, du coin supérieur gauche du rectangle source.

ySrc
Coordonnée y, en unités logiques, du coin supérieur gauche du rectangle source.

nSrcWidth
Largeur, en unités logiques, du rectangle source.

nSrcHeight
Hauteur, en unités logiques, du rectangle source.

rectSrc
Référence à une RECT structure, identifiant la source.

Valeur de retour

TRUE si elle réussit, sinon FALSE.

Notes

TransparentBlt est pris en charge pour les bitmaps sources de 4 bits par pixel et de 8 bits par pixel. Permet CImage::AlphaBlend de spécifier des bitmaps de 32 bits par pixel avec transparence.

Exemple

// Performs a transparent blit from the source image to the destination
// image using the images' current transparency settings
BOOL TransparentBlt(CImage* pSrcImage, CImage* pDstImage,
       int xDest, int yDest, int nDestWidth, int nDestHeight)
{
    HDC hDstDC = NULL;
    BOOL bResult;

    if(pSrcImage == NULL || pDstImage == NULL)
    {
        // Invalid parameter
        return FALSE;
    }

    // Obtain a DC to the destination image
    hDstDC = pDstImage->GetDC();
    // Perform the blit
    bResult = pSrcImage->TransparentBlt(hDstDC, xDest, yDest, nDestWidth, nDestHeight);

    // Release the destination DC
    pDstImage->ReleaseDC();

    return bResult;
}

Voir aussi

MMXSwarm Échantillon
SimpleImage Échantillon
Bitmaps indépendantes de l’appareil
CreateDIBSection
Composants de bureau COM ATL
Bitmaps indépendantes de l’appareil