Freigeben über


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.

Wichtiger HinweisWichtig

Diese Klasse und ihre Member können in Anwendungen nicht verwendet werden, die in der Windows Runtime ausführen.

class CImage

Mitglieder

bwea7by5.collapse_all(de-de,VS.110).gifÖffentliche Konstruktoren

Name

Description

CImage::CImage

Der -Konstruktor.

bwea7by5.collapse_all(de-de,VS.110).gifÖffentliche Methoden

Name

Description

CImage::AlphaBlend

Zeigt Bitmaps an, die die transparenten oder halbtransparenten Pixel haben.

CImage::Attach

Fügt HBITMAP zu einem CImage-Objekt.Kann mit Bitmap- oder DIB-Abschnittsbitmaps des Abschnitts verwendet werden entweder NichtDIB.

CImage::BitBlt

Kopiert eine Bitmap vom Quellgerätekontext zu diesem aktuellen Gerätekontext.

CImage::Create

Erstellt eine und fügt sie DIB-Abschnittsbitmap zum zuvor erstellten CImage-Objekt.

CImage::CreateEx

Stellt eine DIB-Abschnittsbitmap (mit zusätzlichen Parameter) und fügt es dem zuvor erstellten CImage-Objekt.

CImage::Destroy

Trennt die Bitmap aus dem CImage-Objekt und zerstört die Bitmap.

CImage::Detach

Trennt die Bitmap aus einem CImage-Objekt.

CImage::Draw

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.

CImage::GetBits

Ruft einen Zeiger auf den tatsächlichen Pixelwerten der Bitmap ab.

CImage::GetBPP

Ruft die Bits pro Pixel ab.

CImage::GetColorTable

Ruft die Rot, Grün, Blau Farbwerte (RGB) von einem Bereich von Einträgen in der Farbtabelle ab.

CImage::GetDC

Ruft den Gerätekontext ab, in den die aktuelle Bitmap ausgewählt ist.

CImage::GetExporterFilterString

Sucht die verfügbaren Bildformate und ihre Beschreibungen.

CImage::GetHeight

Ruft die Höhe des aktuellen Bilder in Pixel ab.

CImage::GetImporterFilterString

Sucht die verfügbaren Bildformate und ihre Beschreibungen.

CImage::GetMaxColorTableEntries

Ruft die maximale Anzahl von Einträgen in der Farbtabelle ab.

CImage::GetPitch

Ruft die Schriftbreite des aktuellen Bilder in Bytes ab.

CImage::GetPixel

Ruft die Farbe des Pixels ab, das von x and y angegeben wird.

CImage::GetPixelAddress

Ruft die Adresse eines bestimmten Pixels ab.

CImage::GetTransparentColor

Ruft die Position der transparente Farbe in der Farbtabelle ab.

CImage::GetWidth

Ruft die Breite des aktuellen Bilder in Pixel ab.

CImage::IsDIBSection

Bestimmt, ob die angefügte Bitmap ein DIB-Abschnitt ist.

CImage::IsIndexed

Gibt an, dass die Farben einer Bitmap auf einer indizierten Palette zugeordnet werden.

CImage::IsNull

Gibt an, ob eine Quellbitmap derzeit geladen wird.

CImage::IsTransparencySupported

Gibt an, ob die Anwendung, transparente Bitmaps unterstützt und wurde für Windows 2000 oder höher kompiliert.

CImage::Load

Lädt ein Bild aus der angegebenen Datei.

CImage::LoadFromResource

Lädt ein Bild aus der angegebenen Ressource.

CImage::MaskBlt

Kombiniert die Farbdaten für die Quell- und Zielbitmaps mithilfe des angegebenen Masken- und Rastervorgangs.

CImage::PlgBlt

Führt einen Bitblocktransfer aus einem Rechteck in einem Quellgerätekontext in ein Parallelogramm in einem Zielgerätekontext aus.

CImage::ReleaseDC

Gibt den Gerätekontext frei, der mit CImage::GetDC abgerufen wurde.

CImage::ReleaseGDIPlus

Gibt die Ressourcen frei, die von GDI+ verwendet werden.Muss um Ressourcen Mittel aufgerufen werden, das ein globales CImage-Objekt erstellt wird.

CImage::Save

Speichert ein Bild als der angegebene Typ.Speichern kann Imageoptionen nicht angeben.

CImage::SetColorTable

Legt rote, Grün, Blau RGB-) Farbwerte in einem Bereich von Einträgen in der Farbtabelle der DIB-Abschnitts fest.

CImage::SetPixel

Legt das Pixel an angegebenen Koordinaten der angegebenen Farbe fest.

CImage::SetPixelIndexed

Legt das Pixel an angegebenen Koordinaten die Farbe am angegebenen Index der Palette fest.

CImage::SetPixelRGB

Legt das Pixel an angegebenen Koordinaten zum angegebenen Rot, Grün, Blau Wert (RGB) fest.

CImage::SetTransparentColor

Legt den behandelt werden Index der Farbe, fest, wie transparent.Nur eine Farbe in einer Palette kann transparent sein.

CImage::StretchBlt

Kopiert eine Bitmap aus einem Quellrechteck in ein Zielrechteck und streckt oder komprimiert die Bitmap, um die Dimensionen des Zielrechtecks an, ggf.

CImage::TransparentBlt

Kopiert eine Bitmap mit transparenter Farbe im Quellgerätekontext zu diesem aktuellen Gerätekontext.

bwea7by5.collapse_all(de-de,VS.110).gifÖffentliche Operatoren

Name

Description

CImage::operator HBITMAP

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

HinweisHinweis

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.

HinweisHinweis

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.

HinweisHinweis

Die folgenden CImage-Methoden haben Einschränkungen für ihre Verwendung:

Methode

Einschränkung

PlgBlt

Kann mit nur Windows NT 4.0 oder höher.Nicht an Anwendungen funktioniert das Ausführen auf Windows 95/98 oder höher.

MaskBlt

Kann mit nur Windows NT 4.0 oder höher.Nicht an Anwendungen funktioniert das Ausführen auf Windows 95/98 oder höher.

AlphaBlend

Kann mit nur Windows 2000, Windows 98 und höheren Systemen.

TransparentBlt

Kann mit nur Windows 2000, Windows 98 und höheren Systemen.

Zeichnen Sie

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.

HinweisHinweis

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

Siehe auch

Referenz

Device-Independent Bitmaps

CreateDIBSection

Konzepte

MMXSwarm-Beispiel

SimpleImage-Beispiel

Weitere Ressourcen

Desktop-Komponenten ATL COM