Freigeben über


CDC::BitBlt

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

BOOL BitBlt( 
   int x, 
   int y, 
   int nWidth, 
   int nHeight, 
   CDC* pSrcDC, 
   int xSrc, 
   int ySrc, 
   DWORD dwRop  
);

Parameter

  • x
    Gibt die logische x-Koordinate der linken oberen Ecke des Zielrechtecks an.

  • y
    Gibt die logische y-Koordinate der linken oberen Ecke des Zielrechtecks an.

  • nWidth
    Gibt die Breite (in logischen Einheiten) des Zielrechtecks und der Quellbitmaps an.

  • nHeight
    Gibt die Höhe (in logischen Einheiten) des Zielrechtecks und der Quellbitmaps an.

  • pSrcDC
    Zeiger auf einen CDC-Objekt, das den Gerätekontext identifiziert, von dem die Bitmap kopiert wird. Es muss NULL sein, wenn dwRop einen Rastervorgang angibt, der keine Quelle enthält.

  • xSrc
    Gibt die logische X-Koordinate der oberen linken Ecke der Quellbitmaps an.

  • ySrc
    Gibt die logische Y-Koordinate der oberen linken Ecke der Quellbitmaps an.

  • dwRop
    Gibt den ausgeführt werden, anvorgang Raster. Raster-Vorgang Code definieren, wie das GDI Farben in den Ausgabevorgängen kombiniert, die einen aktuellen Pinsel, eine mögliche Quellbitmap und eine Zielbitmap einschließen. Siehe BitBlt in Windows SDK für eine Liste der RasterVorgang Code für dwRop und ihre Beschreibungen

Eine vollständige Liste der RasterVorgang Code, finden Sie unter Über Raster-Operationscodes in Windows SDK.

Rückgabewert

ungleich 0 (null), wenn die Funktion erfolgreich; 0 andernfalls.

Hinweise

Die Anwendung kann die Fenster oder die Clientbereiche auf true an, um sicherzustellen, dass die BitBlt Vorgänge auf Byte-ausgerichteten Rechtecken auftreten. (Wenn die CS_BYTEALIGNWINDOW oder CS_BYTEALIGNCLIENT-Flags, wenn Sie die Fensterklassen registrieren).

BitBlt Vorgänge auf Byte-ausgerichteten Rechtecken sind wesentlich schneller als BitBlt Vorgänge auf Rechtecken, die nicht das Byte ausgerichtet sind. Wenn Sie Klassenformate wie ByteAusrichtung für den eigenen Gerätekontext angeben möchten, müssen Sie eine Fensterklasse, anstatt sich auf die Microsoft Foundations-Klassen registrieren, um sie für Sie ausführen. Verwenden Sie die globale Funktion AfxRegisterWndClass.

GDI transformiert nWidth und nHeight, einmal, indem Sie den Zielgerätekontext und einmal verwendet, indem Sie den Quellgerätekontext verwendet. Wenn die resultierenden Wertebereiche nicht übereinstimmen, verwendet die Funktion GDI Windows StretchBlt, um die Quellbitmap ggf. zu komprimieren oder strecken.

Wenn Quelle und Ziel, Musterbitmaps nicht das gleiche Farbenformat haben, konvertiert die BitBlt-Funktion die Quell- und Musterbitmaps, um das Ziel übereinstimmt. Der Vordergrund- und Hintergrundfarben der Zielbitmaps werden in der Konvertierung verwendet.

Wenn die BitBlt-Funktion eine monochrome Bitmap konvertiert, um zu Farbe, setzt sie weiße Bits (1) dem Hintergrundfarben- und Schwarzbits (0) an die Vordergrundfarbe fest. Der Vordergrund- und Hintergrundfarben des Zielgerätekontexts verwendet werden. So Farbe auf Monochrom konvertieren, BitBlt Satzpixel, die die Hintergrundfarbe an Weiß und legt alle anderen Pixel in Schwarz anpassen. BitBlt verwendet die Vordergrund- und Hintergrundfarben des Farbengerätekontexts, um von Farbe zu Monochrom zu konvertieren.

Beachten Sie, dass nicht alle Gerätekontexte BitBlt unterstützen. So überprüfen Sie, ob ein angegebener Gerätekontext BitBlt unterstützt, die GetDeviceCaps-Memberfunktion verwendet und den RASTERCAPS Index angibt.

Beispiel

Im Beispiel für CDC::CreateCompatibleDC.

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CDC-Klasse

Hierarchiediagramm

CDC::GetDeviceCaps

CDC::PatBlt

CDC::SetTextColor

CDC::StretchBlt

StretchDIBits

BitBlt