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 HBITMAP CImage 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 Attach
d’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, CImage
HBITMAP
et 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 CImage
de , 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.h
atlimpl.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ête : atlimage.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îneCImage::GetBits
le retour d’un pointeur près de la fin de la mémoire tampon bitmap etCImage::GetPitch
de retourner un nombre négatif.DIBOR_TOPDOWN
Les lignes de la bitmap sont dans l’ordre supérieur à inférieur. Cela entraîneCImage::GetBits
le retour d’un pointeur vers le premier octet de la mémoire tampon bitmap etCImage::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
, Load
ou LoadFromResource
Attach
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 sinBPP
est 32, eteCompression
estBI_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’appelCImage::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’appelCImage::CreateEx
équivaut à appelerCImage::Create
.BI_BITFIELDS
Le format est décompressé et le tableau de couleurs se compose de troisDWORD
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 sinBPP
est 32, eteCompression
estBI_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’appelCImage::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. FALSE
Sinon.
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 NULL
le 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éfautexcludeDefaultSave
=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||
où |
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 NULL
le 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éfautexcludeDefaultSave
=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||
où |
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. FALSE
Sinon.
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
, TransparentBlt
ou 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 l’article 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
, g
et 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_INVALID
indiquant 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