Partager via


CImage, classe

CImage fournit la prise en charge de bitmap amélioré, notamment la possibilité de charger et d'enregistrer les images dans JPEG, GIF, BMP, et les formats de définition de données (PNG) PNG.

Important

Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s'exécutent dans les fenêtres d'exécution.

class CImage

Membres

Constructeurs publics

Nom

Description

CImage::CImage

Constructeur.

Méthodes publiques

Nom

Description

CImage::AlphaBlend

Affiche les bitmaps qui ont des pixels transparents ou translucides.

CImage::Attach

Joint HBITMAP à un objet d' CImage . Peut être utilisé avec des bitmaps de bitmap de section non fichier DIB ou de section du fichier DIB.

CImage::BitBlt

Copie une bitmap du contexte de périphérique source à ce contexte actuel de l'appareil.

CImage::Create

Crée une image bitmap de section du fichier DIB et la attaché à l'objet précédemment construit d' CImage .

CImage::CreateEx

Crée une image bitmap de section du fichier DIB (avec des paramètres supplémentaires) et les attachés il à l'objet précédemment construit d' CImage .

CImage::Destroy

Détache la bitmap de l'objet d' CImage et perd la bitmap.

CImage::Detach

Détache la bitmap d'un objet d' CImage .

CImage::Draw

Copie une bitmap d'un rectangle source dans un rectangle de destination. Draw étire ou compresse la bitmap en fonction de les dimensions du rectangle de destination si nécessaire, et gère la fusion alpha et les couleurs transparentes.

CImage::GetBits

Extrait un pointeur aux valeurs en pixels réelles de la bitmap.

CImage::GetBPP

Récupère les bits par pixel.

CImage::GetColorTable

Récupère le rouge, vert, bleu valeurs de couleur de (RGB) d'une plage des entrées dans la table des couleurs.

CImage::GetDC

Récupère le contexte de périphérique dans lequel la bitmap actuelle est sélectionnée.

CImage::GetExporterFilterString

Recherche les formats d'image disponibles et leurs descriptions.

CImage::GetHeight

Extrait 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 des couleurs.

CImage::GetPitch

Récupère le pas de l'image actuelle, en octets.

CImage::GetPixel

Extrait la couleur du pixel spécifié par x et Y.

CImage::GetPixelAddress

Récupère l'adresse d'un pixel donné.

CImage::GetTransparentColor

Extrait la position de la couleur transparente dans la table des couleurs.

CImage::GetWidth

Extrait la largeur de l'image actuelle en pixels.

CImage::IsDIBSection

Détermine si la bitmap attachée est une section du fichier 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é.

CImage::IsTransparencySupported

Indique si les bitmaps transparentes de l'application prend en charge et a été compilé pour Windows 2000 ou version ultérieure.

CImage::Load

Charge une image à partir de le fichier spécifié.

CImage::LoadFromResource

Charge une image de la ressource spécifiée.

CImage::MaskBlt

Combine des données couleur de la source et les bitmaps de destination à l'aide de le masque et l'opération raster spécifiés.

CImage::PlgBlt

Exécute un transfert par bloc de bits d'un rectangle dans un contexte du périphérique source dans un parallélogramme dans un contexte de périphérique de destination.

CImage::ReleaseDC

Libère le contexte de périphérique 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 les ressources créées par un objet global d' CImage .

CImage::Save

Enregistre une image en tant que type spécifié. Enregistrer impossible de spécifier des options d'image.

CImage::SetColorTable

Définit le rouge, vert, les valeurs de couleur du bleu RVB) dans une plage des entrées dans la table des couleurs de la section du fichier DIB.

CImage::SetPixel

Définit le pixel aux coordonnées spécifiées à la couleur spécifiée.

CImage::SetPixelIndexed

Définit le pixel aux coordonnées spécifiées à la couleur à l'index spécifié de la palette.

CImage::SetPixelRGB

Définit le pixel aux coordonnées spécifiées spécifié au rouge, vert, bleu valeur de (RGB).

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 d'un rectangle source dans un rectangle de destination, d'étirement ou comprimant la bitmap en fonction de les dimensions du rectangle de destination, si nécessaire.

CImage::TransparentBlt

Copie une bitmap avec la couleur transparente du contexte de périphérique source à ce contexte actuel de l'appareil.

Opérateurs publics

Nom

Description

CImage::operator HBITMAP

Retourne le handle de fenêtre attaché à l'objet d' CImage .

Notes

CImage prend les bitmaps qui sont des sections de (DIB) .dib ou pas ; toutefois, vous pouvez utiliser Create ou CImage::Load avec uniquement des sections du fichier DIB. Vous pouvez lier une image bitmap de section non fichier DIB à un objet d' CImage à l'aide de Attachement, mais en revanche vous ne pouvez pas utiliser les méthodes suivantes pour CImage , qui prennent uniquement en charge les bitmaps de section du fichier DIB :

Pour déterminer si une bitmap attachée est une section du fichier DIB, appelez IsDibSection.

Notes

Note dans Visual Studio .NET 2003, cette classe contient le nombre d'objets d' CImage créé.Chaque fois que le nombre accède à 0, la fonction GdiplusShutdown est automatiquement appelée pour libérer les ressources utilisées par GDI+.Cela garantit que tous les objets d' CImage créés directement ou indirectement par les DLL sont encore détruits correctement et que GdiplusShutdown n'est pas appelé d' DllMain.

Notes

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

CImage ne peut pas être sélectionné à nouveau CDC. CImage crée son propre HDC pour l'image. Étant donné qu' HBITMAP peut être sélectionné dans un HDC à la fois, HBITMAP associé à CImage ne peut pas être sélectionné dans un autre HDC. Si vous avez besoin d' CDC, extrayez HDC d' CImage et donnez le à CDC::FromHandle.

Exemple

// 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 que les fonctions membres dans votre projet attendent un pointeur vers un objet de CBitmap . Si vous souhaitez utiliser CImage avec une telle fonction, comme CMenu::AppendMenu, l'utilisation CBitmap::FromHandle, le passer votre CImageHBITMAP, et utiliser **CBitmap***retourné.

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);
}

Par CImage, vous avez accès aux bits réels d'une section du fichier DIB. Vous pouvez utiliser un objet d' CImage partout où vous avez utilisé précédemment Win32 HBITMAP ou la section du fichier DIB.

Notes

Les méthodes suivantes pour CImage ont des limitations sur leur utilisation :

Méthode

Limitation

PlgBlt

Fonctionne uniquement avec Windows NT 4,0 ou version ultérieure. Ne fonctionnera pas aux applications qui s'exécutent sur Windows 95/98 ou version ultérieure.

MaskBlt

Fonctionne uniquement avec Windows NT 4,0 ou version ultérieure. Ne fonctionnera pas aux applications qui s'exécutent sur Windows 95/98 ou version ultérieure.

AlphaBlend

Fonctionne uniquement avec Windows 2000, Windows 98, et les systèmes ultérieurs.

TransparentBlt

Fonctionne uniquement avec Windows 2000, Windows 98, et les systèmes ultérieurs.

Tracez

Prend en charge la transparence uniquement avec Windows 2000, Windows 98, et les systèmes ultérieurs.

Consultez Limitations de CImage aux systèmes d'exploitation antérieurs pour plus d'informations sur les restrictions sur les ces méthodes.

Vous pouvez utiliser CImage MFC ou ATL.

Notes

Lorsque vous créez un projet à CImage, 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 la prise en charge MFC), incluez afxstr.h avant d'inclure atlimage.h.

De même, vous devez inclure atlimage.h avant d'inclure atlimpl.cpp.Pour ce faire facilement, incluez atlimage.h dans votre stdafx.h.

Configuration requise

Header: atlimage.h

Voir aussi

Référence

Device-Independent Bitmaps

CreateDIBSection

Concepts

Exemple MMXSwarm

Exemple SimpleImage

Autres ressources

Composants de Bureau COM ATL