PlgBlt: Unterschied zwischen den Versionen
Aus API-Wiki
(11 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | __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. | ||
− | < | + | <syntaxhighlight lang="vb">Declare Function PlgBlt Lib "gdi32" ( _ |
− | Declare Function PlgBlt Lib "gdi32 | ||
ByVal hdcDest As Long, _ | ByVal hdcDest As Long, _ | ||
− | ByRef lpPoint As | + | 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> |
− | </ | ||
− | + | =====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: | + | =====Beispiel:===== |
− | < | + | <syntaxhighlight lang="vb">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)</syntaxhighlight> | |
− | [[BitBlt]] | + | |
− | [[StretchBlt]] | + | =====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:Pixelgrafik]] | ||
+ | [[Kategorie:Grafik]] | ||
+ | [[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