PlgBlt: Unterschied zwischen den Versionen

Aus API-Wiki
Wechseln zu: Navigation, Suche
 
(13 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Überträgt eine Grafik von einem Source DC in einen Destination DC, wobei die Grafik in ein Parallelogramm projeziert wird.
+
__NOTOC__
 +
===== =====
 +
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.
  
<pre>
+
<syntaxhighlight lang="vb">Declare Function PlgBlt Lib "gdi32" ( _
Declare Function PlgBlt Lib "gdi32.dll" ( _
 
 
                 ByVal hdcDest As Long, _
 
                 ByVal hdcDest As Long, _
                 lpPoint As POINTAPI, _
+
                 ByRef lpPoint As PointApi, _
 
                 ByVal hdcSrc As Long, _
 
                 ByVal hdcSrc As Long, _
 
                 ByVal nXSrc As Long, _
 
                 ByVal nXSrc As Long, _
Zeile 12: Zeile 13:
 
                 ByVal hbmMask As Long, _
 
                 ByVal hbmMask As Long, _
 
                 ByVal xMask As Long, _
 
                 ByVal xMask As Long, _
                 ByVal yMask As Long) As Long
+
                 ByVal yMask As Long) As Long</syntaxhighlight>
</pre>
 
  
Das Parallelogramm wird über drei Punkte in einem Feld vom Typ [[PointApi]] definiert und im Parameter lpPoint übergeben.
+
=====Parameter:=====
In den Parametern hbmMask, xMask und yMask kann zusätzlich eine monochrome Maske übergeben werden.
+
''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:
+
=====Beispiel:=====
<pre>
+
<syntaxhighlight lang="vb">Dim lngReturn As Long
Call PlgBlt(picDest.hDC, ptList(0), picSource.hDC, 0, 0, picSource.ScaleWidth, picSource.ScaleHeight, 0, 0, 0)
+
Dim tPointApi(2) As PointApi
</pre>
 
  
 +
tPointApi(0).x = 30:  tPointApi(0).y = 10
 +
tPointApi(1).x = 300: tPointApi(1).y = 0
 +
tPointApi(2).x = 0:  tPointApi(2).y = 300
  
siehe auch: <br>
+
lngReturn = PlgBlt(DestDC.hDC, tPointApi(0), SrcDC.hDC, 0, 0, 100, _
AVB Tipp 619 <br>
+
    100, 0, 0, 0)</syntaxhighlight>
[[BitBlt]] <br>
 
[[StretchBlt]] <br>
 
  
 +
=====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:=====
 +
*[http://www.activevb.de/tipps/vb6tipps/tipp0619.html Tipp 0619: Ein Bild mithilfe der PlgBlt-API drehen]
 +
*[[BitBlt]]
 +
*[[StretchBlt]]
 +
 +
[[Kategorie:Pixelgrafik]]
 +
[[Kategorie:Grafik]]
 
[[Kategorie:GDI]]
 
[[Kategorie:GDI]]
 +
[[Kategorie:Funktionen]]

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: