Freigeben über


PlgBlt-Funktion (wingdi.h)

Die PlgBlt-Funktion führt eine Bitblockübertragung der Farbdatenbits aus dem angegebenen Rechteck im Quellgerätekontext an das angegebene Parallelogramm im Zielgerätekontext durch. Wenn das angegebene Bitmaskenhandle eine gültige monochrome Bitmap identifiziert, verwendet die Funktion diese Bitmap, um die Farbdatenbits aus dem Quellrechteck zu maskieren.

Syntax

BOOL PlgBlt(
  [in] HDC         hdcDest,
  [in] const POINT *lpPoint,
  [in] HDC         hdcSrc,
  [in] int         xSrc,
  [in] int         ySrc,
  [in] int         width,
  [in] int         height,
  [in] HBITMAP     hbmMask,
  [in] int         xMask,
  [in] int         yMask
);

Parameter

[in] hdcDest

Ein Handle für den Zielgerätekontext.

[in] lpPoint

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, die obere rechte Ecke dem zweiten Punkt in diesem Array und die linke untere Ecke dem dritten Punkt zugeordnet. Die untere rechte Ecke des Quellrechtecks wird dem impliziten vierten Punkt im Parallelogramm zugeordnet.

[in] hdcSrc

Ein Handle für den Quellgerätekontext.

[in] xSrc

Die x-Koordinate in logischen Einheiten der oberen linken Ecke des Quellrechtecks.

[in] ySrc

Die y-Koordinate in logischen Einheiten der oberen linken Ecke des Quellrechtecks.

[in] width

Die Breite des Quellrechtecks in logischen Einheiten.

[in] height

Die Höhe des Quellrechtecks in logischen Einheiten.

[in] hbmMask

Ein Handle für eine optionale monochrome Bitmap, die zum Maskieren der Farben des Quellrechtecks verwendet wird.

[in] xMask

Die x-Koordinate in logischen Einheiten der linken oberen Ecke der monochromen Bitmap.

[in] yMask

Die y-Koordinate in logischen Einheiten der oberen linken Ecke der monochromen Bitmap.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.

Hinweise

Die PlgBlt-Funktion funktioniert mit geräteabhängigen Bitmaps.

Der vierte Scheitelpunkt des Parallelogramms (D) wird definiert, indem die ersten drei Punkte (A, B und C ) als Vektoren behandelt werden und D = B +CA berechnen.

Wenn die Bitmaske vorhanden ist, gibt ein Wert von 1 in der Maske an, dass die Quellpixelfarbe an das Ziel kopiert werden soll. Der Wert null in der Maske gibt an, dass die Farbe des Zielpixels nicht geändert werden soll. Wenn das Maskenrechteck kleiner als das Quell- und Zielrechteck ist, repliziert die Funktion das Maskenmuster.

Skalierungs-, Übersetzungs- und Reflektionstransformationen sind im Kontext des Quellgeräts zulässig. Dreh- und Schertransformationen sind es jedoch nicht. Wenn es sich bei der Masken-Bitmap nicht um eine monochrome Bitmap handelt, tritt ein Fehler auf. Der Stretchmodus für den Zielgerätekontext wird verwendet, um zu bestimmen, wie die Pixel gestreckt oder komprimiert werden sollen, falls dies erforderlich ist.

Wenn eine erweiterte Metadatei aufgezeichnet wird, tritt ein Fehler auf, wenn der Quellgerätekontext einen Gerätekontext mit erweiterter Metadatei identifiziert.

Die Zielkoordinaten werden gemäß dem Zielgerätekontext transformiert. Die Quellkoordinaten werden gemäß dem Quellgerätekontext transformiert. Wenn die Quelltransformation eine Drehung oder Schub hat, wird ein Fehler zurückgegeben.

Wenn die Ziel- und Quellrechtecke nicht das gleiche Farbformat aufweisen, konvertiert PlgBlt das Quellrechteck in das Zielrechteck.

Nicht alle Geräte unterstützen die PlgBlt-Funktion . Weitere Informationen finden Sie in der Beschreibung der RC_BITBLT-Rasterfunktion in der GetDeviceCaps-Funktion .

Wenn die Quell- und Zielgerätekontexte inkompatible Geräte darstellen, gibt PlgBlt einen Fehler zurück.

Wenn sie in einem System mit mehreren Monitoren verwendet werden, müssen sowohl hdcSrc als auch hdcDest auf dasselbe Gerät verweisen, andernfalls schlägt die Funktion fehl. Um Daten zwischen DCs für verschiedene Geräte zu übertragen, konvertieren Sie die Speicher-Bitmap in einen DIB, indem Sie GetDIBits aufrufen. Um den DIB auf dem zweiten Gerät anzuzeigen, rufen Sie SetDIBits oder StretchDIBits auf.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wingdi.h (einschließlich Windows.h)
Bibliothek Gdi32.lib
DLL Gdi32.dll

Weitere Informationen

Bitblt

Bitmapfunktionen

Übersicht über Bitmaps

GetDIBits

GetDeviceCaps

MaskBlt

SetDIBits

SetStretchBltMode

StretchBlt

StretchDIBits