CDC::StretchBlt
Kopiert eine Bitmap aus einem Quellrechteck in ein Zielrechteck, wobei das Bitmap gestreckt oder komprimiert wird, falls dies notwendig ist, um zu den Maßen des Zielrechtecks zu passen.
BOOL StretchBlt(
int x,
int y,
int nWidth,
int nHeight,
CDC* pSrcDC,
int xSrc,
int ySrc,
int nSrcWidth,
int nSrcHeight,
DWORD dwRop
);
Parameter
x
Gibt die x-Koordinate (in logischen Einheiten) der oberen linken Ecke des Zielrechtecks an.y
Gibt die y-Koordinate (in logischen Einheiten) der oberen linken Ecke des Zielrechtecks an.nWidth
Gibt die Breite (in logischen Einheiten) des Zielrechtecks an.nHeight
Gibt die Höhe (in logischen Einheiten) des Zielrechtecks an.pSrcDC
Gibt den Quellgerätekontext an.xSrc
Gibt die x-Koordinate (in logischen Einheiten) der oberen linken Ecke des Quellrechtecks an.ySrc
Gibt die y-Koordinate (in logischen Einheiten) der oberen linken Ecke des Quellrechtecks an.nSrcWidth
Gibt die Breite (in logischen Einheiten) des Quellrechtecks an.nSrcHeight
Gibt die Höhe (in logischen Einheiten) des Quellrechtecks an.dwRop
Gibt das Raster des auszuführenden Vorgangs an. Rastervorgangscode definiert, wie GDI Farben in Ausgabevorgängen kombiniert, an denen ein aktueller Pinsel, eine mögliche Quellbitmap und eine Zielbitmap beteiligt sind. Dieser Parameter kann möglicherweise einen der folgenden Werte aufweisen:BLACKNESS Hierdurch wird die ganze Ausgabe schwarz.
DSTINVERT Hierdurch wird die Zielbitmap umgekehrt.
MERGECOPY Hierdurch werden das Muster und die Quellbitmap mithilfe des booleschen AND-Operators kombiniert.
MERGEPAINT Hierdurch wird die umgekehrte Quellbitmap mit der Zielbitmap mithilfe des booleschen OR-Operators kombiniert.
NOTSRCCOPY Hierdurch wird die umgekehrte Quellbitmap in das Ziel kopiert.
NOTSRCERASE Hierdurch wird das Ergebnis der Kombination aus Ziel- und Quellbitmaps mithilfe des booleschen OR-Operators umgekehrt.
PATCOPY Hierdurch wird das Muster in das Zielbitmap kopiert.
PATINVERT Hierdurch wird das Zielbitmap mithilfe des booleschen XOR-Operators mit dem Muster kombiniert.
PATPAINT Hierdurch wird die umgekehrte Quellbitmap mithilfe des booleschen OR-Operators mit dem Muster kombiniert. Hierdurch wird das Ziel dieses Vorgangs mithilfe des booleschen OR-Operators mit dem Zielbitmap kombiniert.
SRCAND Hierdurch werden Pixel der Ziel- und Quellbitmaps mithilfe eines booleschen AND-Operators kombiniert.
SRCCOPY Hierdurch wird die Quellbitmap in die Zielbitmap kopiert.
SRCERASE Hierdurch wird das Zielbitmap umgekehrt und mithilfe des booleschen AND-Operators das Ergebnis mit dem Quellbitmap kombiniert.
SRCINVERT Hierdurch werden Pixel der Ziel- und Quellbitmaps mithilfe eines booleschen XOR-Operators kombiniert.
SRCPAINT Hierdurch werden Pixel der Ziel- und Quellbitmaps mithilfe eines booleschen OR-Operators kombiniert.
WHITENESS Hierdurch wird die ganze Ausgabe weiß.
Rückgabewert
Ist ungleich null (0), wenn die Bitmap gezeichnet wird, andernfalls null (0).
Hinweise
Die Funktion verwendet den Streckmodus des Zielgerätkontexts (durch SetStretchBltMode festgelegt), um zu bestimmen, wie die Bitmap gestreckt oder komprimiert werden soll.
Die StretchBlt-Funktion verschiebt die Bitmap vom Quellgerät, das durch pSrcDC angegeben ist, zum Zielgerät, das durch das Gerätkontextobjekt repräsentiert wird, dessen Memberfunktion aufgerufen wird. Die Parameter xSrc, ySrc, nSrcWidth und nSrcHeight definieren die linke obere Ecke und die Maße des Quellrechtecks. Die Parameter x, y, nWidth und nHeight geben die linke obere Ecke und die Maße des Zielrechtecks an. Der durch dwRop angegebene Rastervorgang definiert, wie die Quellbitmap und die Bits, die sich bereits auf dem Zielgerät befinden, kombiniert werden.
Die Funktion StretchBlt erstellt ein Spiegelbild eines Bitmaps, wenn sich die Vorzeichen der Parameter nSrcWidth und nWidth oder nSrcHeight und nHeight unterscheiden. Wenn nSrcWidth und nWidth unterschiedliche Vorzeichen haben, erstellt die Funktion ein Spiegelbild der Bitmap entlang der x-Achse. Wenn nSrcHeight und nHeight unterschiedliche Vorzeichen haben, erstellt die Funktion ein Spiegelbild der Bitmap entlang der y-Achse.
Die Funktion StretchBlt streckt oder komprimiert die Quellbitmap im Speicher und kopiert dann das Ergebnis in das Ziel. Wenn ein Muster mit dem Ergebnis zusammengeführt werden soll, wird es erst zusammengeführt, wenn die gestreckte Quellbitmap in das Ziel kopiert wurde. Wenn ein Pinsel verwendet wird, ist es der ausgewählte Pinsel im Zielgerätekontext. Die Zielkoordinaten werden gemäß dem Zielgerätekontext umgewandelt. Die Quellkoordinaten werden gemäß dem Quellgerätekontext umgewandelt.
Wenn das Ziel, die Quelle und die Musterbitmaps nicht dasselbe Farbformat haben, konvertiert StretchBlt die Quelle und die Musterbitmaps so, dass sie mit den Zielbitmaps übereinstimmen. Die Vordergrund- und Hintergrundfarben des Zielgerätekontexts werden bei der Konvertierung verwendet.
Wenn StretchBlt eine monochrome Bitmap in eine farbige konvertiere muss, legt sie weiße Bits (1) für die Hintergrundfarbe und schwarze Bits (0) für die Vordergrundfarbe fest. Um Farbe in monochrom zu verwandeln, legt sie Pixel, die mit der Hintergrundfarbe übereinstimmen, auf weiß (1) fest und legt alle anderen Pixel auf schwarz (0) fest. Die Vordergrund- und Hintergrundfarben des Gerätekontexts mit Farbe werden verwendet.
Nicht alle Geräte unterstützen die StretchBlt-Funktion. Um zu bestimmen, ob ein Gerät StretchBlt unterstützt, rufen Sie die Memberfunktion GetDeviceCaps mit dem RASTERCAPS-Index auf, und überprüfen Sie den Rückgabewert für das Kennzeichen RC_STRETCHBLT.
Anforderungen
Header: afxwin.h