Classe de CImage
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 |
---|---|
Constructeur. |
Méthodes publiques
Nom |
Description |
---|---|
Affiche les bitmaps qui ont des pixels transparents ou translucides. |
|
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. |
|
Copie une bitmap du contexte de périphérique source à ce contexte actuel de l'appareil. |
|
Crée une image bitmap de section du fichier DIB et la attaché à l'objet précédemment construit d' CImage . |
|
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 . |
|
Détache la bitmap de l'objet d' CImage et perd la bitmap. |
|
Détache la bitmap d'un objet d' CImage . |
|
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. |
|
Extrait un pointeur aux valeurs en pixels réelles de la bitmap. |
|
Récupère les bits par pixel. |
|
Récupère le rouge, vert, bleu valeurs de couleur de (RGB) d'une plage des entrées dans la table des couleurs. |
|
Récupère le contexte de périphérique dans lequel la bitmap actuelle est sélectionnée. |
|
Recherche les formats d'image disponibles et leurs descriptions. |
|
Extrait la hauteur de l'image actuelle en pixels. |
|
Recherche les formats d'image disponibles et leurs descriptions. |
|
Récupère le nombre maximal d'entrées dans la table des couleurs. |
|
Récupère le pas de l'image actuelle, en octets. |
|
Extrait la couleur du pixel spécifié par x et Y. |
|
Récupère l'adresse d'un pixel donné. |
|
Extrait la position de la couleur transparente dans la table des couleurs. |
|
Extrait la largeur de l'image actuelle en pixels. |
|
Détermine si la bitmap attachée est une section du fichier DIB. |
|
Indique que les couleurs d'une bitmap sont mappées à une palette indexée. |
|
Indique si une bitmap source est actuellement chargé. |
|
Indique si les bitmaps transparentes de l'application prend en charge et a été compilé pour Windows 2000 ou version ultérieure. |
|
Charge une image à partir de le fichier spécifié. |
|
Charge une image de la ressource spécifiée. |
|
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. |
|
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. |
|
Libère le contexte de périphérique qui a été récupéré avec CImage::GetDC. |
|
Libère les ressources utilisées par GDI+.Doit être appelé pour libérer les ressources créées par un objet global d' CImage . |
|
Enregistre une image en tant que type spécifié.Enregistrer impossible de spécifier des options d'image. |
|
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. |
|
Définit le pixel aux coordonnées spécifiées à la couleur spécifiée. |
|
Définit le pixel aux coordonnées spécifiées à la couleur à l'index spécifié de la palette. |
|
Définit le pixel aux coordonnées spécifiées spécifié au rouge, vert, bleu valeur de (RGB). |
|
Définit l'index de la couleur à traiter comme transparent.Une seule couleur dans une palette peut être transparente. |
|
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. |
|
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 |
---|---|
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.
[!REMARQUE]
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.
[!REMARQUE]
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.
[!REMARQUE]
Les méthodes suivantes pour CImage ont des limitations sur leur utilisation :
Méthode |
Limitation |
---|---|
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. |
|
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. |
|
Fonctionne uniquement avec Windows 2000, Windows 98, et les systèmes ultérieurs. |
|
Fonctionne uniquement avec Windows 2000, Windows 98, et les systèmes ultérieurs. |
|
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.
[!REMARQUE]
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