Freigeben über


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

Siehe auch

Referenz

CDC-Klasse

Hierarchiediagramm

CDC::BitBlt

CDC::GetDeviceCaps

CDC::SetStretchBltMode

StretchBlt