PlgBlt: Unterschied zwischen den Versionen

Aus API-Wiki
Wechseln zu: Navigation, Suche
 
Zeile 3: Zeile 3:
 
Die API-Funktion '''PlgBlt''' überträgt eine Grafik von einem Quell Device Context in einen Ziel Device Context, wobei die Grafik in ein Parallelogramm projeziert wird.
 
Die API-Funktion '''PlgBlt''' überträgt eine Grafik von einem Quell Device Context in einen Ziel Device Context, wobei die Grafik in ein Parallelogramm projeziert wird.
  
<<syntaxhighlight lang="vb">>Declare Function PlgBlt Lib "gdi32" ( _
+
<syntaxhighlight lang="vb">Declare Function PlgBlt Lib "gdi32" ( _
 
                 ByVal hdcDest As Long, _
 
                 ByVal hdcDest As Long, _
 
                 ByRef lpPoint As PointApi, _
 
                 ByRef lpPoint As PointApi, _
Zeile 13: Zeile 13:
 
                 ByVal hbmMask As Long, _
 
                 ByVal hbmMask As Long, _
 
                 ByVal xMask As Long, _
 
                 ByVal xMask As Long, _
                 ByVal yMask As Long) As Long</<syntaxhighlight lang="vb">>
+
                 ByVal yMask As Long) As Long</syntaxhighlight>
  
 
=====Parameter:=====
 
=====Parameter:=====
Zeile 41: Zeile 41:
  
 
=====Beispiel:=====
 
=====Beispiel:=====
<<syntaxhighlight lang="vb">>Dim lngReturn As Long
+
<syntaxhighlight lang="vb">Dim lngReturn As Long
 
Dim tPointApi(2) As PointApi
 
Dim tPointApi(2) As PointApi
  
Zeile 49: Zeile 49:
  
 
lngReturn = PlgBlt(DestDC.hDC, tPointApi(0), SrcDC.hDC, 0, 0, 100, _
 
lngReturn = PlgBlt(DestDC.hDC, tPointApi(0), SrcDC.hDC, 0, 0, 100, _
     100, 0, 0, 0)</<syntaxhighlight lang="vb">>
+
     100, 0, 0, 0)</syntaxhighlight>
  
 
=====Hinweise:=====
 
=====Hinweise:=====
Zeile 60: Zeile 60:
  
 
=====Verweise:=====
 
=====Verweise:=====
*[http://www.active<syntaxhighlight lang="vb">.de/tipps/<syntaxhighlight lang="vb">6tipps/tipp0619.html Tipp 0619: Ein Bild mithilfe der PlgBlt-API drehen]
+
*[http://www.activevb.de/tipps/vb6tipps/tipp0619.html Tipp 0619: Ein Bild mithilfe der PlgBlt-API drehen]
 
*[[BitBlt]]
 
*[[BitBlt]]
 
*[[StretchBlt]]
 
*[[StretchBlt]]

Aktuelle Version vom 5. November 2016, 23:47 Uhr

Die API-Funktion PlgBlt überträgt eine Grafik von einem Quell Device Context in einen Ziel Device Context, wobei die Grafik in ein Parallelogramm projeziert wird.

Declare Function PlgBlt Lib "gdi32" ( _
                 ByVal hdcDest As Long, _
                 ByRef lpPoint As PointApi, _
                 ByVal hdcSrc As Long, _
                 ByVal nXSrc As Long, _
                 ByVal nYSrc As Long, _
                 ByVal nWidth As Long, _
                 ByVal nHeight As Long, _
                 ByVal hbmMask As Long, _
                 ByVal xMask As Long, _
                 ByVal yMask As Long) As Long
Parameter:

hdcDest

Handle des Ziel Device Contextes

lpPoint

Zeiger auf ein Feld vom Typ PointApi

hdcSrc

Handle des Quell Device Contextes

nXSrc

X-Koordinate des Quellrechtecks oben links

nYSrc

Y-Koordinate des Quellrechtecks oben links

nWidth

Breite des Quellrechtecks

nHeight

Höhe des Quellrechtecks

hbmMask

Optional: Handle auf ein Monochrom-Bitmap

xMask

X-Koordinate der oberen linken Ecke der Monochrom-Bitmap

yMask

Y-Koordinate der oberen linken Ecke der Monochrom-Bitmap
Rückgabe(n):

War die Funktion erfolgreich, so erfolgt eine Übergabe eines Wertes ungleich 0. Sollte die Funktion fehlschlagen, so kann die Fehlerursache mittels GetLastError festgestellt werden.

Beispiel:
Dim lngReturn As Long
Dim tPointApi(2) As PointApi

tPointApi(0).x = 30:  tPointApi(0).y = 10
tPointApi(1).x = 300: tPointApi(1).y = 0
tPointApi(2).x = 0:   tPointApi(2).y = 300

lngReturn = PlgBlt(DestDC.hDC, tPointApi(0), SrcDC.hDC, 0, 0, 100, _
    100, 0, 0, 0)
Hinweise:

Das Parallelogramm wird über drei Punkte in einem Feld (Array) vom Typ PointApi definiert und im Parameter lpPoint übergeben. In den Parametern hbmMask, xMask und yMask kann zusätzlich eine monochrome Maske übergeben werden.

Betriebssystem:

Die API-Funktion PlgBlt ist unter folgenden Betriebssystemen funktionsfähig:

  • Windows NT 3.1 oder später
Verweise: