CImage-Klasse
CImage bietet verbesserte Bit-Übersichtsunterstützung, einschließlich der Möglichkeit, Bilder, JPEG-, GIF- und PNG-Dateien in Stilen des Portablen Network Graphics (PNG) zu laden und zu speichern.
Wichtig |
---|
Diese Klasse und ihre Member können in Anwendungen nicht verwendet werden, die in der Windows Runtime ausführen. |
class CImage
Mitglieder
Öffentliche Konstruktoren
Name |
Description |
---|---|
Der -Konstruktor. |
Öffentliche Methoden
Name |
Description |
---|---|
Zeigt Bitmaps an, die die transparenten oder halbtransparenten Pixel haben. |
|
Fügt HBITMAP zu einem CImage-Objekt.Kann mit Bitmap- oder DIB-Abschnittsbitmaps des Abschnitts verwendet werden entweder NichtDIB. |
|
Kopiert eine Bitmap vom Quellgerätekontext zu diesem aktuellen Gerätekontext. |
|
Erstellt eine und fügt sie DIB-Abschnittsbitmap zum zuvor erstellten CImage-Objekt. |
|
Stellt eine DIB-Abschnittsbitmap (mit zusätzlichen Parameter) und fügt es dem zuvor erstellten CImage-Objekt. |
|
Trennt die Bitmap aus dem CImage-Objekt und zerstört die Bitmap. |
|
Trennt die Bitmap aus einem CImage-Objekt. |
|
Kopiert eine Bitmap aus einem Quellrechteck in ein Zielrechteck.Draw oder komprimiert wird die Bitmap, um die Dimensionen des Zielrechtecks ggf. angepasst und behandelt Alphablending und transparente Farben. |
|
Ruft einen Zeiger auf den tatsächlichen Pixelwerten der Bitmap ab. |
|
Ruft die Bits pro Pixel ab. |
|
Ruft die Rot, Grün, Blau Farbwerte (RGB) von einem Bereich von Einträgen in der Farbtabelle ab. |
|
Ruft den Gerätekontext ab, in den die aktuelle Bitmap ausgewählt ist. |
|
Sucht die verfügbaren Bildformate und ihre Beschreibungen. |
|
Ruft die Höhe des aktuellen Bilder in Pixel ab. |
|
Sucht die verfügbaren Bildformate und ihre Beschreibungen. |
|
Ruft die maximale Anzahl von Einträgen in der Farbtabelle ab. |
|
Ruft die Schriftbreite des aktuellen Bilder in Bytes ab. |
|
Ruft die Farbe des Pixels ab, das von x and y angegeben wird. |
|
Ruft die Adresse eines bestimmten Pixels ab. |
|
Ruft die Position der transparente Farbe in der Farbtabelle ab. |
|
Ruft die Breite des aktuellen Bilder in Pixel ab. |
|
Bestimmt, ob die angefügte Bitmap ein DIB-Abschnitt ist. |
|
Gibt an, dass die Farben einer Bitmap auf einer indizierten Palette zugeordnet werden. |
|
Gibt an, ob eine Quellbitmap derzeit geladen wird. |
|
Gibt an, ob die Anwendung, transparente Bitmaps unterstützt und wurde für Windows 2000 oder höher kompiliert. |
|
Lädt ein Bild aus der angegebenen Datei. |
|
Lädt ein Bild aus der angegebenen Ressource. |
|
Kombiniert die Farbdaten für die Quell- und Zielbitmaps mithilfe des angegebenen Masken- und Rastervorgangs. |
|
Führt einen Bitblocktransfer aus einem Rechteck in einem Quellgerätekontext in ein Parallelogramm in einem Zielgerätekontext aus. |
|
Gibt den Gerätekontext frei, der mit CImage::GetDC abgerufen wurde. |
|
Gibt die Ressourcen frei, die von GDI+ verwendet werden.Muss um Ressourcen Mittel aufgerufen werden, das ein globales CImage-Objekt erstellt wird. |
|
Speichert ein Bild als der angegebene Typ.Speichern kann Imageoptionen nicht angeben. |
|
Legt rote, Grün, Blau RGB-) Farbwerte in einem Bereich von Einträgen in der Farbtabelle der DIB-Abschnitts fest. |
|
Legt das Pixel an angegebenen Koordinaten der angegebenen Farbe fest. |
|
Legt das Pixel an angegebenen Koordinaten die Farbe am angegebenen Index der Palette fest. |
|
Legt das Pixel an angegebenen Koordinaten zum angegebenen Rot, Grün, Blau Wert (RGB) fest. |
|
Legt den behandelt werden Index der Farbe, fest, wie transparent.Nur eine Farbe in einer Palette kann transparent sein. |
|
Kopiert eine Bitmap aus einem Quellrechteck in ein Zielrechteck und streckt oder komprimiert die Bitmap, um die Dimensionen des Zielrechtecks an, ggf. |
|
Kopiert eine Bitmap mit transparenter Farbe im Quellgerätekontext zu diesem aktuellen Gerätekontext. |
Öffentliche Operatoren
Name |
Description |
---|---|
Gibt das Windows-Handles zurück, das dem Objekt CImage angefügt wird. |
Hinweise
CImage akzeptiert Bitmaps, die entweder Abschnitte der geräteunabhängige Bitmaps (DIBs) oder nicht sind; Sie können jedoch Erstellen Sie oder CImage::Load mit nur DIB-Abschnitten verwenden.Sie können eine Bitmap des Abschnitts NichtDIB zu einem CImage-Objekt mithilfe Anfügen anfügen, und dann können Sie die folgenden CImage keine Methoden verwenden, die nur DIB-Abschnittsbitmaps unterstützen:
Um festzustellen wenn eine angefügte Bitmap ein DIB-Abschnitt ist, rufen Sie IsDibSection. auf
Hinweis |
---|
Hinweis in Visual Studio .NET 2003., diese Klasse enthält die Anzahl der CImage-Objekte erstellt.Sobald die Anzahl auf 0 ansteigt, wird die Funktion GdiplusShutdown automatisch aufgerufen, um die Ressourcen freizugeben, die von GDI+ verwendet werden.Dadurch wird sichergestellt, dass alle CImage-Objekte, die direkt oder indirekt über DLL erstellt werden, immer ordnungsgemäß gelöscht werden und dass GdiplusShutdown nicht von DllMain aufgerufen wird. |
Hinweis |
---|
Mit globalen CImage wird Objekte in einer DLL nicht empfohlen.Wenn Sie ein globales Objekt CImage in einer DLL verwenden müssen, verwendete Aufruf CImage::ReleaseGDIPlus, um von Ressourcen explizit freizugeben von GDI+. |
CImage kann nicht in neues CDC ausgewählt werden.CImage erstellt sein eigenes HDC für das Bild.Da HBITMAP in ein HDC nur ausgewählt werden kann, kann HBITMAP, das mit CImage zugeordnet ist, nicht in ein anderes HDC ausgewählt werden.Wenn Sie CDC benötigen, rufen Sie HDC von CImage ab und geben Sie es CDC::FromHandle.
Beispiel
// 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();
Wenn Sie CImage in einem MFC-Projekt verwenden, beachten Sie, dem Memberfunktionen im Projekt einen Zeiger auf ein Objekt CBitmap erwarten.Wenn Sie CImage mit solchen Features, z CMenu::AppendMenu, verwendet CBitmap::FromHandle verwenden, es führen das CImageHBITMAP, und zurückgegebene CBitmap* verwenden möchten.
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);
}
Durch CImage haben Sie Zugriff auf den tatsächlichen Bits eines DIB-Abschnitts.Sie können ein Objekt CImage verwenden, überall, das Sie zuvor Win32 HBITMAP oder DIB-Abschnitt haben.
Hinweis |
---|
Die folgenden CImage-Methoden haben Einschränkungen für ihre Verwendung: |
Methode |
Einschränkung |
---|---|
Kann mit nur Windows NT 4.0 oder höher.Nicht an Anwendungen funktioniert das Ausführen auf Windows 95/98 oder höher. |
|
Kann mit nur Windows NT 4.0 oder höher.Nicht an Anwendungen funktioniert das Ausführen auf Windows 95/98 oder höher. |
|
Kann mit nur Windows 2000, Windows 98 und höheren Systemen. |
|
Kann mit nur Windows 2000, Windows 98 und höheren Systemen. |
|
Unterstützt Transparenz nur mit Windows 2000, Windows 98 und höheren Systemen. |
Siehe CImage-Einschränkungen mit älteren Betriebssystemen für ausführlichere Informationen über die Einschränkungen für diesen Methoden.
Sie können CImage entweder von MFC oder ATL von verwenden.
Hinweis |
---|
Wenn Sie ein Projekt mit CImage erstellen, müssen Sie CString definieren, bevor Sie atlimage.h einschließen.Wenn das Projekt ATL ohne MFC verwendet, Include- atlstr.h, bevor Sie atlimage.h einschließen.Wenn das Projekt (MFC verwendet, oder wenn es ein ATL-Projekt mit MFC-Unterstützung ist), Include- afxstr.h, bevor Sie atlimage.h einschließen. Ebenso müssen Sie atlimage.h einschließen, bevor Sie atlimpl.cpp einschließen.Um dieses leicht zu erreichen, schließen Sie atlimage.h im stdafx.h ein. |
Anforderungen
Header: atlimage.h