CImage
-Klasse
CImage
bietet erweiterte Bitmapunterstützung, einschließlich der Möglichkeit, Bilder in JPEG-, GIF-, BMP- und PNG-Formaten (Portable Network Graphics) zu laden und zu speichern.
Wichtig
Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.
Syntax
class CImage
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CImage::CImage |
Der Konstruktor. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CImage::AlphaBlend |
Zeigt Bitmaps mit transparenten oder halbtransparenten Pixeln an. |
CImage::Attach |
Fügt ein Objekt HBITMAP an CImage . Kann mit Bitmaps für Nicht-DIB-Abschnitte oder DIB-Abschnittsbitmaps verwendet werden. |
CImage::BitBlt |
Kopiert eine Bitmap aus dem Quellgerätekontext in diesen aktuellen Gerätekontext. |
CImage::Create |
Erstellt eine DIB-Abschnittsbitmap und fügt sie an das zuvor erstellte CImage Objekt an. |
CImage::CreateEx |
Erstellt eine DIB-Abschnittsbitmap (mit zusätzlichen Parametern) und fügt sie an das zuvor erstellte CImage Objekt an. |
CImage::Destroy |
Trennt die Bitmap vom CImage Objekt und zerstört die Bitmap. |
CImage::Detach |
Trennt die Bitmap von einem CImage Objekt. |
CImage::Draw |
Kopiert eine Bitmap aus einem Quellrechteck in ein Zielrechteck. Draw dehiert oder komprimiert die Bitmap so, dass sie den Abmessungen des Zielrechtecks entspricht, falls erforderlich, und behandelt Alphamischungen und transparente Farben. |
CImage::GetBits |
Ruft einen Zeiger auf die tatsächlichen Pixelwerte der Bitmap ab. |
CImage::GetBPP |
Ruft die Bits pro Pixel ab. |
CImage::GetColorTable |
Ruft rote, grüne, blaue (RGB)-Farbwerte aus 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 deren Beschreibungen. |
CImage::GetHeight |
Ruft die Höhe des aktuellen Bilds in Pixeln ab. |
CImage::GetImporterFilterString |
Sucht die verfügbaren Bildformate und deren Beschreibungen. |
CImage::GetMaxColorTableEntries |
Ruft die maximale Anzahl von Einträgen in der Farbtabelle ab. |
CImage::GetPitch |
Ruft den Neigungswinkel des aktuellen Bilds in Bytes ab. |
CImage::GetPixel |
Ruft die Farbe des durch x und y . |
CImage::GetPixelAddress |
Ruft die Adresse eines bestimmten Pixels ab. |
CImage::GetTransparentColor |
Ruft die Position der transparenten Farbe in der Farbtabelle ab. |
CImage::GetWidth |
Ruft die Breite des aktuellen Bilds in Pixeln ab. |
CImage::IsDIBSection |
Bestimmt, ob die angefügte Bitmap ein DIB-Abschnitt ist. |
CImage::IsIndexed |
Gibt an, dass die Farben einer Bitmap einer indizierten Palette zugeordnet sind. |
CImage::IsNull |
Gibt an, ob derzeit eine Quellbitmap geladen wird. |
CImage::IsTransparencySupported |
Gibt an, ob die Anwendung transparente Bitmaps unterstützt. |
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 der angegebenen Maske und des Rastervorgangs. |
CImage::PlgBlt |
Führt eine Bitblockübertragung von einem Rechteck in einem Quellgerätekontext in ein Parallelogramm in einem Zielgerätekontext aus. |
CImage::ReleaseDC |
Gibt den Gerätekontext frei, mit dem abgerufen CImage::GetDC wurde. |
CImage::ReleaseGDIPlus |
Veröffentlicht Ressourcen, die von GDI+ verwendet werden. Muss aufgerufen werden, um ressourcen freizugeben, die von einem globalen CImage Objekt erstellt werden. |
CImage::Save |
Speichert ein Bild als angegebenen Typ. Save Bildoptionen können nicht angegeben werden. |
CImage::SetColorTable |
Legt die Farbwerte rot, grün, blau RGB) in einem Bereich von Einträgen in der Farbtabelle des DIB-Abschnitts fest. |
CImage::SetPixel |
Legt das Pixel an den angegebenen Koordinaten auf die angegebene Farbe fest. |
CImage::SetPixelIndexed |
Legt das Pixel an den angegebenen Koordinaten auf die Farbe am angegebenen Index der Palette fest. |
CImage::SetPixelRGB |
Legt das Pixel an den angegebenen Koordinaten auf den angegebenen roten, grünen, blauen (RGB)-Wert fest. |
CImage::SetTransparentColor |
Legt den Index der Farbe fest, die als transparent behandelt werden soll. Nur eine Farbe in einer Palette kann transparent sein. |
CImage::StretchBlt |
Kopiert eine Bitmap aus einem Quellrechteck in ein Zielrechteck, dehnt oder komprimiert die Bitmap, um die Abmessungen des Zielrechtecks bei Bedarf anzupassen. |
CImage::TransparentBlt |
Kopiert eine Bitmap mit transparenter Farbe aus dem Quellgerätekontext in diesen aktuellen Gerätekontext. |
Öffentliche Operatoren
Name | Beschreibung |
---|---|
CImage::operator HBITMAP |
Gibt das dem Objekt angefügte CImage Windows-Handle zurück. |
Hinweise
CImage
verwendet Bitmaps, die entweder geräteunabhängige Bitmapabschnitte (DIB) sind oder nicht; Sie können jedoch nur DIB-Abschnitte verwenden Create
oder CImage::Load
verwenden. Sie können eine Nicht-DIB-Abschnittsbitmap mit Attach
einem CImage
Objekt anfügen. Anschließend können Sie die folgenden CImage
Methoden nicht verwenden, die nur DIB-Abschnittsbitmaps unterstützen:
Rufen Sie auf, um IsDibSection
zu ermitteln, ob eine angefügte Bitmap ein DIB-Abschnitt ist.
Hinweis
In Visual Studio .NET 2003 behält diese Klasse die Anzahl der CImage
erstellten Objekte bei. Wenn die Anzahl zu 0 wechselt, wird die Funktion GdiplusShutdown
automatisch aufgerufen, um ressourcen freizugeben, die von GDI+ verwendet werden. Dadurch wird sichergestellt, dass alle CImage
Objekte, die direkt oder indirekt durch DLLs erstellt wurden, immer ordnungsgemäß zerstört werden und nicht GdiplusShutdown
aufgerufen DllMain
werden.
Hinweis
Die Verwendung globaler CImage
Objekte in einer DLL wird nicht empfohlen. Wenn Sie ein globales CImage
Objekt in einer DLL verwenden müssen, rufen Sie explizit CImage::ReleaseGDIPlus
ressourcen frei, die von GDI+ verwendet werden.
CImage
kann nicht in einem neuen CDC
ausgewählt werden. CImage
erstellt einen eigenen HDC
für das Bild. Da ein Element HBITMAP
nur einzeln ausgewählt HDC
werden kann, kann das HBITMAP
CImage
zugeordnete Element nicht in eine andere HDC
ausgewählt werden. Wenn Sie einen CDC
, rufen Sie die HDC
von der CImage
und geben Sie es .CDC::FromHandle
Beispiele
// 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 in einem MFC-Projekt verwenden CImage
, beachten Sie, welche Memberfunktionen in Ihrem Projekt einen Zeiger auf ein CBitmap
Objekt erwarten. Wenn Sie eine solche Funktion verwenden CImage
möchten, z CMenu::AppendMenu
. B. verwenden Sie CBitmap::FromHandle
sie, übergeben Sie CImage
HBITMAP
sie, und verwenden Sie die zurückgegebene 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);
}
Durch CImage
, haben Sie Zugriff auf die tatsächlichen Bits eines DIB-Abschnitts. Sie können ein CImage
Objekt an einer beliebigen Stelle verwenden, an der Sie zuvor einen Win32 HBITMAP
- oder DIB-Abschnitt verwendet haben.
Sie können entweder MFC oder ATL verwenden CImage
.
Hinweis
Wenn Sie ein Projekt mithilfe CImage
eines Projekts erstellen, müssen Sie definieren CString
, bevor Sie einschließen atlimage.h
. Wenn Ihr Projekt ATL ohne MFC verwendet, schließen Sie diese ein atlstr.h
, bevor Sie einschließen atlimage.h
. Wenn Ihr Projekt MFC verwendet (oder wenn es sich um ein ATL-Projekt mit MFC-Unterstützung handelt), schließen Sie diese ein afxstr.h
, bevor Sie einschließen atlimage.h
.
Ebenso müssen Sie vor der Aufnahme einschließen atlimage.h
atlimpl.cpp
. Um dies ganz einfach zu erreichen, schließen Sie atlimage.h
Ihre pch.h
(stdafx.h
in Visual Studio 2017 und früheren Versionen) ein.
Anforderungen
Header: atlimage.h
CImage::AlphaBlend
Zeigt Bitmaps mit transparenten oder halbtransparenten Pixeln an.
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);
Parameter
hDestDC
Behandeln sie den Zielgerätekontext.
xDest
Die x-Koordinate in logischen Einheiten der oberen linken Ecke des Zielrechtecks.
yDest
Die y-Koordinate in logischen Einheiten der oberen linken Ecke des Zielrechtecks.
bSrcAlpha
Ein Alphatransparenzwert, der für die gesamte Quellbitmap verwendet werden soll. Bei der Standard-0xff (255) wird davon ausgegangen, dass Das Bild undurchsichtig ist und nur Alphawerte pro Pixel verwendet werden sollen.
bBlendOp
Die Alpha-Blending-Funktion für Quell- und Zielbitmaps, ein globaler Alphawert, der auf die gesamte Quellbitmap angewendet werden soll, und Formatinformationen für die Quellbitmap. Die Quell- und Zielmischungsfunktionen sind derzeit auf AC_SRC_OVER
.
pointDest
Ein Verweis auf eine POINT
Struktur, die die obere linke Ecke des Zielrechtecks in logischen Einheiten identifiziert.
nDestWidth
Die Breite des Zielrechtecks in logischen Einheiten.
nDestHeight
Die Höhe des Zielrechtecks in logischen Einheiten.
xSrc
Die logische x-Koordinate der oberen linken Ecke des Quellrechtecks.
ySrc
Die logische y-Koordinate der oberen linken Ecke des Quellrechtecks.
nSrcWidth
Die Breite des Quellrechtecks in logischen Einheiten.
nSrcHeight
Die Höhe des Quellrechtecks in logischen Einheiten.
rectDest
Ein Verweis auf eine RECT
Struktur, die das Ziel identifiziert.
rectSrc
Ein Verweis auf eine RECT
Struktur, die die Quelle identifiziert.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Hinweise
Alpha-Blend-Bitmaps unterstützen die Farbmischung pro Pixel.
Wenn bBlendOp
sie auf den Standardwert AC_SRC_OVER
festgelegt ist, wird die Quellbitmap basierend auf den Alphawerten der Quellpixel über die Zielbitmap platziert.
CImage::Attach
Fügt hBitmap
an ein CImage
Objekt an.
void Attach(HBITMAP hBitmap, DIBOrientation eOrientation = DIBOR_DEFAULT) throw();
Parameter
hBitmap
Ein Handle zu einem HBITMAP
.
eOrientation
Gibt die Ausrichtung der Bitmap an. Dabei kann es sich um eine der folgenden Methoden handeln:
DIBOR_DEFAULT
Die Ausrichtung der Bitmap wird vom Betriebssystem bestimmt.DIBOR_BOTTOMUP
Die Linien der Bitmap sind in umgekehrter Reihenfolge angeordnet. Dadurch wirdCImage::GetBits
ein Zeiger am Ende des Bitmappuffers zurückgegeben undCImage::GetPitch
eine negative Zahl zurückgegeben.DIBOR_TOPDOWN
Die Linien der Bitmap befinden sich in der obersten bis unteren Reihenfolge. Dadurch wirdCImage::GetBits
ein Zeiger auf das erste Byte des Bitmappuffers zurückgegeben undCImage::GetPitch
eine positive Zahl zurückgegeben.
Hinweise
Die Bitmap kann entweder eine Bitmap ohne DIB-Abschnitt oder eine DIB-Abschnittsbitmap sein. Eine IsDIBSection
Liste der Methoden finden Sie nur mit DIB-Abschnittsbitmaps.
CImage::BitBlt
Kopiert eine Bitmap aus dem Quellgerätekontext in diesen aktuellen Gerätekontext.
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();
Parameter
hDestDC
Der Ziel-HDC
.
xDest
Die logische x-Koordinate der oberen linken Ecke des Zielrechtecks.
yDest
Die logische y-Koordinate der oberen linken Ecke des Zielrechtecks.
dwROP
Der auszuführende Rastervorgang. Rasteroperationscodes definieren genau, wie die Bits der Quelle, des Ziels und des Musters (wie vom aktuell ausgewählten Pinsel definiert) kombiniert werden, um das Ziel zu bilden. Eine Liste mit anderen Rastervorgangscodes und deren Beschreibungen finden Sie BitBlt
im Windows SDK.
pointDest
Eine POINT
Struktur, die die obere linke Ecke des Zielrechtecks angibt.
nDestWidth
Die Breite des Zielrechtecks in logischen Einheiten.
nDestHeight
Die Höhe des Zielrechtecks in logischen Einheiten.
xSrc
Die logische x-Koordinate der oberen linken Ecke des Quellrechtecks.
ySrc
Die logische y-Koordinate der oberen linken Ecke des Quellrechtecks.
rectDest
Eine RECT
Struktur, die das Zielrechteck angibt.
pointSrc
Eine POINT
Struktur, die die obere linke Ecke des Quellrechtecks angibt.
Rückgabewert
Ungleich 0, wenn erfolgreich, andernfalls 0.
Hinweise
Weitere Informationen finden Sie im BitBlt
Windows SDK.
CImage::CImage
Erstellt ein CImage
-Objekt.
CImage() throw();
Hinweise
Nachdem Sie das Objekt erstellt haben, rufen Create
Sie auf, Load
oder Attach
LoadFromResource
fügen Sie eine Bitmap an das Objekt an.
Hinweis In Visual Studio behält diese Klasse die Anzahl der CImage
erstellten Objekte bei. Wenn die Anzahl zu 0 wechselt, wird die Funktion GdiplusShutdown
automatisch aufgerufen, um ressourcen freizugeben, die von GDI+ verwendet werden. Dadurch wird sichergestellt, dass alle CImage
Objekte, die direkt oder indirekt von DLLs erstellt wurden, immer ordnungsgemäß zerstört werden und nicht GdiplusShutdown
von DllMain aufgerufen werden.
Die Verwendung globaler CImage
Objekte in einer DLL wird nicht empfohlen. Wenn Sie ein globales CImage
Objekt in einer DLL verwenden müssen, rufen Sie explizit CImage::ReleaseGDIPlus
ressourcen frei, die von GDI+ verwendet werden.
CImage::Create
Erstellt eine CImage
Bitmap und fügt sie an das zuvor erstellte CImage
Objekt an.
BOOL Create(
int nWidth,
int nHeight,
int nBPP,
DWORD dwFlags = 0) throw();
Parameter
nWidth
Die Breite der CImage
Bitmap in Pixeln.
nHeight
Die Höhe der CImage
Bitmap in Pixel. Wenn nHeight
sie positiv ist, handelt es sich bei der Bitmap um eine BOTTOM-up-DIB, und der Ursprung ist die untere linke Ecke. Wenn nHeight
dies negativ ist, handelt es sich bei der Bitmap um einen DIB-Wert von oben unten, und der Ursprung ist die obere linke Ecke.
nBPP
Die Anzahl der Bits pro Pixel in der Bitmap. In der Regel 4, 8, 16, 24 oder 32. Kann 1 für monochrome Bitmaps oder Masken sein.
dwFlags
Gibt an, ob das Bitmapobjekt über einen Alphakanal verfügt. Dies kann eine Kombination aus Null oder mehr der folgenden Werte sein:
createAlphaChannel
Kann nur verwendet werden, wennnBPP
32 ist undeCompression
istBI_RGB
. Wenn angegeben, weist das erstellte Bild einen Alphawert (Transparenz) für jedes Pixel auf, das im 4. Byte jedes Pixels gespeichert ist (nicht in einem Nicht-Alpha-32-Bit-Bild verwendet). Dieser Alphakanal wird beim AufrufenCImage::AlphaBlend
automatisch verwendet.
Hinweis
Bei Aufrufen von CImage::Draw
Anrufen werden Bilder mit einem Alphakanal automatisch alphaniert und an das Ziel angepasst.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
CImage::CreateEx
Erstellt eine CImage
Bitmap und fügt sie an das zuvor erstellte CImage
Objekt an.
BOOL CreateEx(
int nWidth,
int nHeight,
int nBPP,
DWORD eCompression,
const DWORD* pdwBitmasks = NULL,
DWORD dwFlags = 0) throw();
Parameter
nWidth
Die Breite der CImage
Bitmap in Pixeln.
nHeight
Die Höhe der CImage
Bitmap in Pixel. Wenn nHeight
sie positiv ist, handelt es sich bei der Bitmap um eine BOTTOM-up-DIB, und der Ursprung ist die untere linke Ecke. Wenn nHeight
dies negativ ist, handelt es sich bei der Bitmap um einen DIB-Wert von oben unten, und der Ursprung ist die obere linke Ecke.
nBPP
Die Anzahl der Bits pro Pixel in der Bitmap. In der Regel 4, 8, 16, 24 oder 32. Kann 1 für monochrome Bitmaps oder Masken sein.
eCompression
Gibt den Komprimierungstyp für eine komprimierte Bottom-up-Bitmap an (Top-down-DIBs können nicht komprimiert werden). Folgenden Werte sind möglich:
BI_RGB
Das Format wird nicht komprimiert. Die Angabe dieses Werts beim AufrufenCImage::CreateEx
entspricht dem AufrufenCImage::Create
.BI_BITFIELDS
Das Format ist nicht komprimiert, und die Farbtabelle besteht aus dreiDWORD
Farbmasken, die die roten, grünen und blauen Komponenten der einzelnen Pixel angeben. Dies ist gültig, wenn sie mit 16- und 32-bpp-Bitmaps verwendet wird.
pdwBitfields
Wird nur verwendet, wenn eCompression
dieser wert ist BI_BITFIELDS
, andernfalls muss es sein NULL
. Ein Zeiger auf ein Array von drei DWORD
Bitmasken, die angeben, welche Bits jedes Pixels für die roten, grünen und blauen Komponenten der Farbe verwendet werden. Informationen zu Einschränkungen für die Bitfelder finden Sie im BITMAPINFOHEADER
Windows SDK.
dwFlags
Gibt an, ob das Bitmapobjekt über einen Alphakanal verfügt. Dies kann eine Kombination aus Null oder mehr der folgenden Werte sein:
createAlphaChannel
Kann nur verwendet werden, wennnBPP
32 ist undeCompression
istBI_RGB
. Wenn angegeben, weist das erstellte Bild einen Alphawert (Transparenz) für jedes Pixel auf, das im 4. Byte jedes Pixels gespeichert ist (nicht in einem Nicht-Alpha-32-Bit-Bild verwendet). Dieser Alphakanal wird beim AufrufenCImage::AlphaBlend
automatisch verwendet.Hinweis
Bei Aufrufen von
CImage::Draw
Anrufen werden Bilder mit einem Alphakanal automatisch alphaniert und an das Ziel angepasst.
Rückgabewert
Bei Erfolg TRUE
. Andernfalls FALSE
.
Beispiel
Im folgenden Beispiel wird eine Bitmap mit 100 x 100 Pixel erstellt, wobei 16 Bit zum Codieren der einzelnen Pixel verwendet werden. In einem bestimmten 16-Bit-Pixel codieren Bits 0-3 die rote Komponente, Bits 4-7-codieren grün und Bits 8-11-codieren Blau. Die verbleibenden 4 Bits werden nicht verwendet.
DWORD adwBitmasks[3] = { 0x0000000f, 0x000000f0, 0x00000f00 };
m_myImage.CreateEx(100, 100, 16, BI_BITFIELDS, adwBitmasks, 0);
CImage::Destroy
Trennt die Bitmap vom CImage
Objekt und zerstört die Bitmap.
void Destroy() throw();
CImage::Detach
Trennt eine Bitmap von einem CImage
Objekt.
HBITMAP Detach() throw();
Rückgabewert
Ein Handle zur getrennten Bitmap oder NULL
wenn keine Bitmap angefügt ist.
CImage::Draw
Kopiert eine Bitmap aus dem Quellgerätekontext in den aktuellen Gerätekontext.
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();
Parameter
hDestDC
Ein Handle für den Zielgerätekontext.
xDest
Die x-Koordinate in logischen Einheiten der oberen linken Ecke des Zielrechtecks.
yDest
Die y-Koordinate in logischen Einheiten der oberen linken Ecke des Zielrechtecks.
nDestWidth
Die Breite des Zielrechtecks in logischen Einheiten.
nDestHeight
Die Höhe des Zielrechtecks in logischen Einheiten.
xSrc
Die x-Koordinate in logischen Einheiten der oberen linken Ecke des Quellrechtecks.
ySrc
Die y-Koordinate in logischen Einheiten der oberen linken Ecke des Quellrechtecks.
nSrcWidth
Die Breite des Quellrechtecks in logischen Einheiten.
nSrcHeight
Die Höhe des Quellrechtecks in logischen Einheiten.
rectDest
Ein Verweis auf eine RECT
Struktur, die das Ziel identifiziert.
rectSrc
Ein Verweis auf eine RECT
Struktur, die die Quelle identifiziert.
pointDest
Ein Verweis auf eine POINT
Struktur, die die obere linke Ecke des Zielrechtecks in logischen Einheiten identifiziert.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Hinweise
Draw
führt denselben Vorgang aus wie StretchBlt
, es sei denn, das Bild enthält eine transparente Farbe oder einen Alphakanal. Führen Sie in diesem Fall Draw
denselben Vorgang wie entweder TransparentBlt
oder AlphaBlend
wie erforderlich aus.
Für Versionen, die Draw
kein Quellrechteck angeben, ist das gesamte Quellbild der Standard. Für die Version davon Draw
wird keine Größe für das Zielrechteck angegeben, ist die Größe des Quellbilds die Standardeinstellung, und es tritt keine Dehnung oder Verkleinerung auf.
CImage::GetBits
Ruft einen Zeiger auf die tatsächlichen Bitwerte eines bestimmten Pixels in einer Bitmap ab.
void* GetBits() throw();
Rückgabewert
Ein Zeiger auf den Bitmappuffer. Wenn es sich bei der Bitmap um eine bottom-up-DIB handelt, zeigt der Zeiger am Ende des Puffers. Wenn es sich bei der Bitmap um ein DIB von oben nach unten handelt, zeigt der Zeiger auf das erste Byte des Puffers.
Hinweise
Mit diesem Zeiger können Sie zusammen mit dem von GetPitch
Ihnen zurückgegebenen Wert einzelne Pixel in einem Bild suchen und ändern.
Hinweis
Diese Methode unterstützt nur DIB-Abschnittsbitmaps; Folglich greifen Sie auf die Pixel eines CImage
Objekts auf die gleiche Weise wie die Pixel eines DIB-Abschnitts zu. Der zurückgegebene Zeiger verweist auf das Pixel an der Position (0, 0).
CImage::GetBPP
Ruft den Bits-pro-Pixel-Wert ab.
int GetBPP() const throw();
Rückgabewert
Die Anzahl der Bits pro Pixel.
Hinweise
Dieser Wert bestimmt die Anzahl der Bits, die jedes Pixel und die maximale Anzahl von Farben in der Bitmap definieren.
Die Bits pro Pixel sind in der Regel 1, 4, 8, 16, 24 oder 32. biBitCount
Weitere Informationen zu diesem Wert finden Sie im Member des BITMAPINFOHEADER
Windows SDK.
CImage::GetColorTable
Ruft rote, grüne, blaue (RGB)-Farbwerte aus einem Bereich von Einträgen in der Palette des DIB-Abschnitts ab.
void GetColorTable(
UINT iFirstColor,
UINT nColors,
RGBQUAD* prgbColors) const throw();
Parameter
iFirstColor
Der Farbtabellenindex des ersten abzurufenden Eintrags.
nColors
Die Anzahl der abzurufenden Farbtabelleneinträge.
prgbColors
Ein Zeiger auf das Array von RGBQUAD
Strukturen, um die Farbtabelleneinträge abzurufen.
CImage::GetDC
Ruft den Gerätekontext ab, in dem das Bild aktuell ausgewählt ist.
HDC GetDC() const throw();
Rückgabewert
Ein Handle für einen Gerätekontext.
Hinweise
Für jeden Anruf müssen GetDC
Sie über einen nachfolgenden Anruf verfügen.ReleaseDC
CImage::GetExporterFilterString
Sucht bildformate, die zum Speichern von Bildern verfügbar sind.
static HRESULT GetExporterFilterString(
CSimpleString& strExporters,
CSimpleArray<GUID>& aguidFileTypes,
LPCTSTR pszAllFilesDescription = NULL,
DWORD dwExclude = excludeDefaultSave,
TCHAR chSeparator = _T('|'));
Parameter
strExporters
Ein Verweis auf ein CSimpleString
-Objekt. Weitere Informationen finden Sie unter Hinweise.
aguidFileTypes
Ein Array von GUIDs, wobei jedes Element einem der Dateitypen in der Zeichenfolge entspricht. Im folgenden Beispiel pszAllFilesDescription
sind GUID_NULL
die verbleibenden Arraywerte die Bilddateiformate, aguidFileTypes[0]
die vom aktuellen Betriebssystem unterstützt werden.
Hinweis
Eine vollständige Liste der Konstanten finden Sie unter "Image File Format Constants " im Windows SDK.
pszAllFilesDescription
Wenn dieser Parameter nicht NULL
der Fall ist, weist die Filterzeichenfolge am Anfang der Liste einen zusätzlichen Filter auf. Dieser Filter hat den aktuellen Wert pszAllFilesDescription
für seine Beschreibung und akzeptiert Dateien jeder Erweiterung, die von jedem anderen Exporteur in der Liste unterstützt wird.
Zum Beispiel:
//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
Satz von Bitkennzeichnungen, die angeben, welche Dateitypen aus der Liste ausgeschlossen werden sollen. Zulässige Flags sind:
excludeGIF
= 0x01 SCHLIEßT GIF-Dateien aus.excludeBMP
= 0x02 schließt BMP-Dateien (Windows Bitmap) aus.excludeEMF
= 0x04 schließt EMF-Dateien (Enhanced Metafile) aus.excludeWMF
= 0x08 schließt WMF-Dateien (Windows-Metadatei) aus.excludeJPEG
= 0x10 SCHLIEßT JPEG-Dateien aus.excludePNG
= 0x20 schließt PNG-Dateien aus.excludeTIFF
= 0x40 schließt TIFF-Dateien aus.excludeIcon
= 0x80 schließt ICO-Dateien (Windows Icon) aus.excludeOther
= 0x80000000 schließt alle anderen dateitypen aus, die oben nicht aufgeführt sind.excludeDefaultLoad
= 0 Zum Laden sind alle Dateitypen standardmäßig enthalten.excludeDefaultSave
=excludeIcon | excludeEMF | excludeWMF
Zum Speichern werden diese Dateien standardmäßig ausgeschlossen, da sie in der Regel spezielle Anforderungen haben.
chSeparator
Das Trennzeichen, das zwischen den Bildformaten verwendet wird. Weitere Informationen finden Sie unter Hinweise.
Rückgabewert
Ein Standard HRESULT
.
Hinweise
Sie können die resultierende Formatzeichenfolge an Ihr MFC-Objekt CFileDialog
übergeben, um die Dateierweiterungen der verfügbaren Bildformate im Dialogfeld "Datei speichern unter" verfügbar zu machen.
Der Parameter strExporter
weist das Format auf:
file description 0|*.ext0|file description 1|*.ext1|...file description N|*.extN||
dabei |
handelt es sich um das trennzeichen, das durch chSeparator
. Zum Beispiel:
"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"
Verwenden Sie das Standardtrennzeichen |
, wenn Sie diese Zeichenfolge an ein MFC-Objekt CFileDialog
übergeben. Verwenden Sie das NULL-Trennzeichen '\0'
, wenn Sie diese Zeichenfolge an ein allgemeines Dialogfeld zum Speichern von Dateien übergeben.
CImage::GetHeight
Ruft die Höhe eines Bilds in Pixeln ab.
int GetHeight() const throw();
Rückgabewert
Die Höhe eines Bilds in Pixel.
CImage::GetImporterFilterString
Sucht nach Bildformaten, die zum Laden von Bildern verfügbar sind.
static HRESULT GetImporterFilterString(
CSimpleString& strImporters,
CSimpleArray<GUID>& aguidFileTypes,
LPCTSTR pszAllFilesDescription = NULL,
DWORD dwExclude = excludeDefaultLoad,
TCHAR chSeparator = _T('|'));
Parameter
strImporters
Ein Verweis auf ein CSimpleString
-Objekt. Weitere Informationen finden Sie unter Hinweise.
aguidFileTypes
Ein Array von GUIDs, wobei jedes Element einem der Dateitypen in der Zeichenfolge entspricht. Im folgenden Beispiel pszAllFilesDescription
ist GUID_NULL
*aguidFileTypes[0]*
mit den verbleibenden Arraywerten die Bilddateiformate, die vom aktuellen Betriebssystem unterstützt werden.
Hinweis
Eine vollständige Liste der Konstanten finden Sie unter "Image File Format Constants " im Windows SDK.
pszAllFilesDescription
Wenn dieser Parameter nicht NULL
der Fall ist, weist die Filterzeichenfolge am Anfang der Liste einen zusätzlichen Filter auf. Dieser Filter hat den aktuellen Wert pszAllFilesDescription
für seine Beschreibung und akzeptiert Dateien jeder Erweiterung, die von jedem anderen Exporteur in der Liste unterstützt wird.
Zum Beispiel:
//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
Satz von Bitkennzeichnungen, die angeben, welche Dateitypen aus der Liste ausgeschlossen werden sollen. Zulässige Flags sind:
excludeGIF
= 0x01 SCHLIEßT GIF-Dateien aus.excludeBMP
= 0x02 schließt BMP-Dateien (Windows Bitmap) aus.excludeEMF
= 0x04 schließt EMF-Dateien (Enhanced Metafile) aus.excludeWMF
= 0x08 schließt WMF-Dateien (Windows-Metadatei) aus.excludeJPEG
= 0x10 SCHLIEßT JPEG-Dateien aus.excludePNG
= 0x20 schließt PNG-Dateien aus.excludeTIFF
= 0x40 schließt TIFF-Dateien aus.excludeIcon
= 0x80 schließt ICO-Dateien (Windows Icon) aus.excludeOther
= 0x80000000 schließt alle anderen dateitypen aus, die oben nicht aufgeführt sind.excludeDefaultLoad
= 0 Zum Laden sind alle Dateitypen standardmäßig enthalten.excludeDefaultSave
=excludeIcon | excludeEMF | excludeWMF
Zum Speichern werden diese Dateien standardmäßig ausgeschlossen, da sie in der Regel spezielle Anforderungen haben.
chSeparator
Das Trennzeichen, das zwischen den Bildformaten verwendet wird. Weitere Informationen finden Sie unter Hinweise.
Hinweise
Sie können die resultierende Formatzeichenfolge an Ihr MFC-Objekt CFileDialog
übergeben, um die Dateierweiterungen der verfügbaren Bildformate im Dialogfeld "Datei öffnen " verfügbar zu machen.
Der Parameter strImporter
weist das Format auf:
'Dateibeschreibung 0|. ext0|Dateibeschreibung 1|. ext1|... Dateibeschreibung N|*.extN||
dabei |
handelt es sich um das trennzeichen, das durch chSeparator
. Zum Beispiel:
"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"
Verwenden Sie das Standardtrennzeichen |
, wenn Sie diese Zeichenfolge an ein MFC-Objekt CFileDialog
übergeben. Verwenden Sie das NULL-Trennzeichen '\0'
, wenn Sie diese Zeichenfolge an ein allgemeines Dialogfeld "Datei öffnen " übergeben.
CImage::GetMaxColorTableEntries
Ruft die maximale Anzahl von Einträgen in der Farbtabelle ab.
int GetMaxColorTableEntries() const throw();
Rückgabewert
Die Anzahl der Einträge in der Farbtabelle.
Hinweise
Diese Methode unterstützt nur DIB-Abschnittsbitmaps.
CImage::GetPitch
Ruft den Neigungswinkel eines Bilds ab.
int GetPitch() const throw();
Rückgabewert
Die Neigung des Bilds. Wenn der Rückgabewert negativ ist, ist die Bitmap ein bottom-up DIB, und sein Ursprung ist die untere linke Ecke. Wenn der Rückgabewert positiv ist, ist die Bitmap ein TOP-down-DIB, und sein Ursprung ist die obere linke Ecke.
Hinweise
Die Neigung ist der Abstand zwischen zwei Speicheradressen, die den Anfang einer Bitmapzeile und den Anfang der nächsten Bitmapzeile darstellen. Da die Neigung in Byte gemessen wird, hilft Ihnen die Neigung eines Bilds, das Pixelformat zu bestimmen. Der Pitch kann auch zusätzlichen Arbeitsspeicher enthalten, der für die Bitmap reserviert ist.
Wird verwendet GetPitch
GetBits
, um einzelne Pixel eines Bilds zu finden.
Hinweis
Diese Methode unterstützt nur DIB-Abschnittsbitmaps.
CImage::GetPixel
Ruft die Farbe des Pixels an der durch x und y angegebenen Position ab.
COLORREF GetPixel(int x, int y) const throw();
Parameter
x
Die x-Koordinate des Pixels.
y
Die y-Koordinate des Pixels.
Rückgabewert
Der Rot-, Grün-, Blauwert (RGB) des Pixels. Wenn sich das Pixel außerhalb des aktuellen Clippingbereichs befindet, lautet CLR_INVALID
der Rückgabewert .
CImage::GetPixelAddress
Ruft die genaue Adresse eines Pixels ab.
void* GetPixelAddress(int x, int y) throw();
Parameter
x
Die x-Koordinate des Pixels.
y
Die y-Koordinate des Pixels.
Hinweise
Die Adresse wird gemäß den Koordinaten eines Pixels, der Neigung der Bitmap und den Bits pro Pixel bestimmt.
Bei Formaten mit weniger als 8 Bit pro Pixel gibt diese Methode die Adresse des Bytes zurück, das das Pixel enthält. Wenn ihr Bildformat beispielsweise 4 Bit pro Pixel aufweist, GetPixelAddress
gibt die Adresse des ersten Pixels im Byte zurück, und Sie müssen für 2 Pixel pro Byte berechnen.
Hinweis
Diese Methode unterstützt nur DIB-Abschnittsbitmaps.
CImage::GetTransparentColor
Ruft die indizierte Position der transparenten Farbe in der Farbpalette ab.
LONG GetTransparentColor() const throw();
Rückgabewert
Der Index der transparenten Farbe.
CImage::GetWidth
Ruft die Breite eines Bilds in Pixeln ab.
int GetWidth() const throw();
Rückgabewert
Die Breite der Bitmap in Pixeln.
CImage::IsDIBSection
Bestimmt, ob die angefügte Bitmap ein DIB-Abschnitt ist.
bool IsDIBSection() const throw();
Rückgabewert
TRUE
wenn die angefügte Bitmap ein DIB-Abschnitt ist. Andernfalls FALSE
.
Hinweise
Wenn die Bitmap kein DIB-Abschnitt ist, können Sie nicht die folgenden CImage
Methoden verwenden, die nur DIB-Abschnittsbitmaps unterstützen:
CImage::IsIndexed
Bestimmt, ob die Pixel einer Bitmap einer Farbpalette zugeordnet sind.
bool IsIndexed() const throw();
Rückgabewert
TRUE
wenn indiziert; andernfalls FALSE
.
Hinweise
Diese Methode gibt nur zurück TRUE
, wenn die Bitmap 8-Bit (256 Farben) oder weniger ist.
Hinweis
Diese Methode unterstützt nur DIB-Abschnittsbitmaps.
CImage::IsNull
Bestimmt, ob derzeit eine Bitmap geladen wird.
bool IsNull() const throw();
Hinweise
Diese Methode gibt zurück TRUE
, wenn eine Bitmap zurzeit nicht geladen ist; andernfalls FALSE
.
CImage::IsTransparencySupported
Gibt an, ob die Anwendung transparente Bitmaps unterstützt.
static BOOL IsTransparencySupported() throw();
Rückgabewert
Nonzero, wenn die aktuelle Plattform Transparenz unterstützt. andernfalls 0.
Hinweise
Wenn der Rückgabewert nicht null ist und Transparenz unterstützt wird, werden transparente AlphaBlend
TransparentBlt
Farben aufgerufen oder Draw
verarbeitet.
CImage::Load
Lädt ein Bild
HRESULT Load(LPCTSTR pszFileName) throw();
HRESULT Load(IStream* pStream) throw();
Parameter
pszFileName
Ein Zeiger auf eine Zeichenfolge, die den Namen der zu ladenden Bilddatei enthält.
pStream
Ein Zeiger auf einen Datenstrom, der den Namen der zu ladenden Bilddatei enthält.
Rückgabewert
Ein Standard HRESULT
.
Hinweise
Lädt das durch pszFileName
oder pStream
.
Gültige Bildtypen sind BMP, GIF, JPEG, PNG und TIFF.
CImage::LoadFromResource
Lädt ein Bild aus einer BITMAP
Ressource.
void LoadFromResource(
HINSTANCE hInstance,
LPCTSTR pszResourceName) throw();
void LoadFromResource(
HINSTANCE hInstance,
UINT nIDResource) throw();
Parameter
hInstance
Behandeln Sie eine Instanz des Moduls, das das zu ladende Bild enthält.
pszResourceName
Ein Zeiger auf die Zeichenfolge, die den Namen der Ressource enthält, die das zu ladende Bild enthält.
nIDResource
Die ID der zu ladenden Ressource
Hinweise
Die Ressource muss vom Typ BITMAP
sein.
CImage::MaskBlt
Kombiniert die Farbdaten für die Quell- und Zielbitmaps mithilfe der angegebenen Maske und des Rastervorgangs.
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();
Parameter
hDestDC
Das Handle für das Modul, dessen ausführbare Datei die Ressource enthält.
xDest
Die x-Koordinate in logischen Einheiten der oberen linken Ecke des Zielrechtecks.
yDest
Die y-Koordinate in logischen Einheiten der oberen linken Ecke des Zielrechtecks.
nDestWidth
Die Breite des Zielrechtecks und der Quellbitmap in logischen Einheiten.
nDestHeight
Die Höhe in logischen Einheiten des Zielrechtecks und der Quellbitmap.
xSrc
Die logische x-Koordinate der oberen linken Ecke der Quellbitmap.
ySrc
Die logische y-Koordinate der oberen linken Ecke der Quellbitmap.
hbmMask
Handle to the monochrome mask bitmap combined with the color bitmap in the source device context.
xMask
Der horizontale Pixeloffset für die durch den hbmMask
Parameter angegebene Maskenbitmap.
yMask
Der vertikale Pixeloffset für die durch den hbmMask
Parameter angegebene Maskenbitmap.
dwROP
Gibt sowohl Vordergrund- als auch Hintergrund-ternäre Rastervorgangscodes an, die von der Methode verwendet werden, um die Kombination aus Quell- und Zieldaten zu steuern. Der Code für den Hintergrundrastervorgang wird im Byte mit hoher Reihenfolge des Hochreihenfolgenworts dieses Werts gespeichert. der Vordergrundrastervorgangscode wird im Byte mit niedriger Reihenfolge des Worts mit hoher Reihenfolge dieses Werts gespeichert. Das Wort mit niedriger Reihenfolge dieses Werts wird ignoriert und sollte null sein. Eine Erläuterung von Vordergrund und Hintergrund im Kontext dieser Methode finden Sie MaskBlt
im Windows SDK. Eine Liste allgemeiner Rastervorgangscodes finden Sie im BitBlt
Windows SDK.
rectDest
Ein Verweis auf eine RECT
Struktur, die das Ziel identifiziert.
pointSrc
Eine POINT
Struktur, die die obere linke Ecke des Quellrechtecks angibt.
pointMask
Eine POINT
Struktur, die die obere linke Ecke der Maskenbitmap angibt.
pointDest
Ein Verweis auf eine POINT
Struktur, die die obere linke Ecke des Zielrechtecks in logischen Einheiten identifiziert.
Rückgabewert
Wenn dies erfolgreich ist, andernfalls 0.
Hinweise
Diese Methode gilt nur für Windows NT, Versionen 4.0 und höher.
CImage::operator HBITMAP
Verwenden Sie diesen Operator, um das angefügte Windows GDI-Handle des CImage
Objekts abzurufen. Dieser Operator ist ein Umwandlungsoperator, der die direkte Verwendung eines HBITMAP
Objekts unterstützt.
CImage::PlgBlt
Führt eine Bitblockübertragung von einem Rechteck in einem Quellgerätekontext in ein Parallelogramm in einem Zielgerätekontext aus.
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();
Parameter
hDestDC
Ein Handle für den Zielgerätekontext.
pPoints
Ein Zeiger auf ein Array von drei Punkten im logischen Raum, die drei Ecken des Zielparallelogramms identifizieren. Die obere linke Ecke des Quellrechtecks wird dem ersten Punkt in diesem Array, der oberen rechten Ecke zum zweiten Punkt in diesem Array und der unteren linken Ecke zum dritten Punkt zugeordnet. Die untere rechte Ecke des Quellrechtecks wird dem impliziten vierten Punkt im Parallelogramm zugeordnet.
hbmMask
Ein Handle zu einer optionalen monochromen Bitmap, die zum Maskieren der Farben des Quellrechtecks verwendet wird.
xSrc
Die x-Koordinate in logischen Einheiten der oberen linken Ecke des Quellrechtecks.
ySrc
Die y-Koordinate in logischen Einheiten der oberen linken Ecke des Quellrechtecks.
nSrcWidth
Die Breite des Quellrechtecks in logischen Einheiten.
nSrcHeight
Die Höhe des Quellrechtecks in logischen Einheiten.
xMask
Die x-Koordinate der oberen linken Ecke der monochromen Bitmap.
yMask
Die y-Koordinate der oberen linken Ecke der monochromen Bitmap.
rectSrc
Ein Verweis auf eine RECT
Struktur, die die Koordinaten des Quellrechtecks angibt.
pointMask
Eine POINT
Struktur, die die obere linke Ecke der Maskenbitmap angibt.
Rückgabewert
Wenn dies erfolgreich ist, andernfalls 0.
Hinweise
Wenn hbmMask
eine gültige monochrome Bitmap identifiziert wird, wird diese Bitmap verwendet, PlgBit
um die Bits von Farbdaten aus dem Quellrechteck zu maskieren.
Diese Methode gilt nur für Windows NT, Versionen 4.0 und höher. Ausführlichere Informationen finden Sie PlgBlt
im Windows SDK.
CImage::ReleaseDC
Gibt den Gerätekontext frei.
void ReleaseDC() const throw();
Hinweise
Da jeweils nur eine Bitmap in einem Gerätekontext ausgewählt werden kann, müssen Sie für jeden Aufruf aufrufenReleaseDC
.GetDC
CImage::ReleaseGDIPlus
Veröffentlicht Ressourcen, die von GDI+ verwendet werden.
void ReleaseGDIPlus() throw();
Hinweise
Diese Methode muss aufgerufen werden, um ressourcen freizugeben, die einem globalen CImage
Objekt zugeordnet sind. Siehe CImage::CImage
.
CImage::Save
Speichert ein Bild im angegebenen Datenstrom oder in der angegebenen Datei auf dem Datenträger.
HRESULT Save(
IStream* pStream,
REFGUID guidFileType) const throw();
HRESULT Save(
LPCTSTR pszFileName,
REFGUID guidFileType = GUID_NULL) const throw();
Parameter
pStream
Ein Zeiger auf ein COM-IStream-Objekt, das die Dateibilddaten enthält.
pszFileName
Ein Zeiger auf den Dateinamen für das Bild.
guidFileType
Der Dateityp, unter dem das Bild gespeichert werden soll. Dabei kann es sich um eine der folgenden Methoden handeln:
ImageFormatBMP
Ein nicht komprimiertes Bitmapbild.ImageFormatPNG
Ein komprimiertes PNG-Bild (Portable Network Graphic).ImageFormatJPEG
Ein komprimiertes JPEG-Bild.ImageFormatGIF
Ein komprimiertes GIF-Bild.
Hinweis
Eine vollständige Liste der Konstanten finden Sie unter "Image File Format Constants " im Windows SDK.
Rückgabewert
Ein Standard HRESULT
.
Hinweise
Rufen Sie diese Funktion auf, um das Bild mit einem angegebenen Namen und Typ zu speichern. Wenn der guidFileType
Parameter nicht enthalten ist, wird die Dateierweiterung des Dateinamens verwendet, um das Bildformat zu bestimmen. Wenn keine Erweiterung bereitgestellt wird, wird das Bild im BMP-Format gespeichert.
CImage::SetColorTable
Legt die Farbwerte rot, grün, blau (RGB) für einen Bereich von Einträgen in der Palette des DIB-Abschnitts fest.
void SetColorTable(
UINT iFirstColor,
UINT nColors,
const RGBQUAD* prgbColors) throw();
Parameter
iFirstColor
Der Farbtabellenindex des ersten festzulegenden Eintrags.
nColors
Die Anzahl der festzulegenden Farbtabelleneinträge.
prgbColors
Ein Zeiger auf das Array von RGBQUAD
Strukturen, um die Farbtabelleneinträge festzulegen.
Hinweise
Diese Methode unterstützt nur DIB-Abschnittsbitmaps.
CImage::SetPixel
Legt die Farbe eines Pixels an einer bestimmten Position in der Bitmap fest.
void SetPixel(int x, int y, COLORREF color) throw();
Parameter
x
Die horizontale Position des festzulegenden Pixels.
y
Die vertikale Position des festzulegenden Pixels.
color
Die Farbe, auf die Sie das Pixel festlegen.
Hinweise
Diese Methode schlägt fehl, wenn die Pixelkoordinaten außerhalb des ausgewählten Clippingbereichs liegen.
CImage::SetPixelIndexed
Legt die Pixelfarbe auf die Farbe fest, die sich iIndex
in der Farbpalette befindet.
void SetPixelIndexed(int x, int y, int iIndex) throw();
Parameter
x
Die horizontale Position des festzulegenden Pixels.
y
Die vertikale Position des festzulegenden Pixels.
iIndex
Der Index einer Farbe in der Farbpalette.
CImage::SetPixelRGB
Legt das Pixel an den angegebenen x
Positionen und y
auf die Farben fest, die durch r
, g
und , in b
einem roten, grünen, blauen (RGB)-Bild angegeben sind.
void SetPixelRGB(
int x,
int y,
BYTE r,
BYTE g,
BYTE b) throw();
Parameter
x
Die horizontale Position des festzulegenden Pixels.
y
Die vertikale Position des festzulegenden Pixels.
r
Die Intensität der roten Farbe.
g
Die Intensität der grünen Farbe.
b
Die Intensität der blauen Farbe.
Hinweise
Die Parameter "Rot", "Grün" und "Blau" werden jeweils durch eine Zahl zwischen 0 und 255 dargestellt. Wenn Sie alle drei Parameter auf Null festlegen, ist die kombinierte resultierende Farbe schwarz. Wenn Sie alle drei Parameter auf 255 festlegen, ist die kombinierte resultierende Farbe weiß.
CImage::SetTransparentColor
Legt eine Farbe an einer bestimmten indizierten Position als transparent fest.
LONG SetTransparentColor(LONG iTransparentColor) throw();
Parameter
iTransparentColor
Der Index in einer Farbpalette der Farbe, die auf transparent festgelegt werden soll. Wenn -1, wird keine Farbe auf transparent festgelegt.
Rückgabewert
Der Index der zuvor als transparent festgelegten Farbe.
CImage::StretchBlt
Kopiert eine Bitmap aus dem Quellgerätekontext in diesen aktuellen Gerätekontext.
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();
Parameter
hDestDC
Ein Handle für den Zielgerätekontext.
xDest
Die x-Koordinate in logischen Einheiten der oberen linken Ecke des Zielrechtecks.
yDest
Die y-Koordinate in logischen Einheiten der oberen linken Ecke des Zielrechtecks.
nDestWidth
Die Breite des Zielrechtecks in logischen Einheiten.
nDestHeight
Die Höhe des Zielrechtecks in logischen Einheiten.
dwROP
Der auszuführende Rastervorgang. Rasteroperationscodes definieren genau, wie die Bits der Quelle, des Ziels und des Musters (wie vom aktuell ausgewählten Pinsel definiert) kombiniert werden, um das Ziel zu bilden. Eine Liste mit anderen Rastervorgangscodes und deren Beschreibungen finden Sie BitBlt
im Windows SDK.
rectDest
Ein Verweis auf eine RECT
Struktur, die das Ziel identifiziert.
xSrc
Die x-Koordinate in logischen Einheiten der oberen linken Ecke des Quellrechtecks.
ySrc
Die y-Koordinate in logischen Einheiten der oberen linken Ecke des Quellrechtecks.
nSrcWidth
Die Breite des Quellrechtecks in logischen Einheiten.
nSrcHeight
Die Höhe des Quellrechtecks in logischen Einheiten.
rectSrc
Ein Verweis auf eine RECT
Struktur, die die Quelle identifiziert.
Rückgabewert
Wenn dies erfolgreich ist, andernfalls 0.
Hinweise
Weitere Informationen finden Sie im StretchBlt
Windows SDK.
CImage::TransparentBlt
Kopiert eine Bitmap aus dem Quellgerätekontext in diesen aktuellen Gerätekontext.
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();
Parameter
hDestDC
Ein Handle für den Zielgerätekontext.
xDest
Die x-Koordinate in logischen Einheiten der oberen linken Ecke des Zielrechtecks.
yDest
Die y-Koordinate in logischen Einheiten der oberen linken Ecke des Zielrechtecks.
nDestWidth
Die Breite des Zielrechtecks in logischen Einheiten.
nDestHeight
Die Höhe des Zielrechtecks in logischen Einheiten.
crTransparent
Die Farbe in der Quellbitmap, die als transparent behandelt werden soll. Standardmäßig sollte die Farbe, CLR_INVALID
die derzeit als transparente Farbe des Bilds festgelegt ist, verwendet werden.
rectDest
Ein Verweis auf eine RECT
Struktur, die das Ziel identifiziert.
xSrc
Die x-Koordinate in logischen Einheiten der oberen linken Ecke des Quellrechtecks.
ySrc
Die y-Koordinate in logischen Einheiten der oberen linken Ecke des Quellrechtecks.
nSrcWidth
Die Breite des Quellrechtecks in logischen Einheiten.
nSrcHeight
Die Höhe des Quellrechtecks in logischen Einheiten.
rectSrc
Ein Verweis auf eine RECT
Struktur, die die Quelle identifiziert.
Rückgabewert
TRUE
wenn dies erfolgreich ist, andernfalls FALSE
.
Hinweise
TransparentBlt
wird für Quellbitmaps von 4 Bit pro Pixel und 8 Bit pro Pixel unterstützt. Wird CImage::AlphaBlend
verwendet, um 32 Bit pro Pixel Bitmaps mit Transparenz anzugeben.
Beispiel
// 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;
}
Siehe auch
MMXSwarm
Probe
SimpleImage
Probe
Geräteunabhängige Bitmaps
CreateDIBSection
ATL-COM-Desktop-Komponenten
Geräteunabhängige Bitmaps