vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2021
 
zurück
Rubrik: Grafik & Zeichnen09.05.01
BitBlt-Funktion

BitBlt kopiert die Grafik eines Device-Contextes (z.B. eine Form oder ein Bildfeld) in einen anderen Device-Kontext.

Betriebssystem:  Win95, Win98, WinNT, Win2000, WinMEViews:  21.331 

Beschreibung:
BitBlt kopiert die Grafik eines Device-Contextes (z.B. eine Form oder ein Bildfeld) in einen anderen Device-Kontext. Es können noch zusätzliche Optionen festgelegt werden, wie z.B. das Invertieren der Farben. Wenn die Farbformate (16Bit, 24Bit, ect.) des Quell- und Ziel-Devices nicht übereinstimmen konvertiert BitBlt das Quell-Farbformat in das Ziel-Farbformat. Wenn sich eine Enhanced Metadatei in dem Quell-Device befindet, scheitert die Funktion, da das Quell-Device mit der Enhanced Metadatei einem Enhanced-Meta Device entspricht.

Deklaration:

Declare Function BitBlt Lib "gdi32.dll" ( _
  ByVal hdcDest As Long, _
  ByVal nXDest As Long, _
  ByVal nYDest As Long, _
  ByVal nWidth As Long, _
  ByVal nHeight As Long, _
  ByVal hdcSrc As Long, _
  ByVal nXSrc As Long, _
  ByVal nYSrc As Long, _
  ByVal dwRop As Long) As Long

Parameter:
hdcDestErwartet den Device-Kontext des Objektes, welches dem Zielobjekt entspricht. Das Quell-Bitmap wird in dieses "geblittet".
nXDestHorizontale Koordinate zu dem das Zielbitmap geblittet werden soll
nYDestVertikale Koordinate zu dem das Zielbitmap geblittet werden soll
nWidthDie neue Weite des Bitmaps. Wird ein Wert über oder unterhalb des Quellbitmaps angegeben so wird das Bitmap gestretcht (gedehnt)
nHeightDie neue Höhe des Bitmaps, wird ein Wert über oder unterhalb des Quellbitmaps angegeben so wird das Bitmap gestretcht (gedehnt)
hdcSrcErwartet den Device-Kontext des Quell-Devices. Der Inhalt dieses Objektes wird in das Zielobjekt geblittet.
nXSrcHorizontale Koordinate, von welcher Position aus das Bitmap kopiert werden soll
nYSrcVertikale Koordinate, von welcher Position aus das Bitmap kopiert werden soll
dwRopEine der nachfolgend aufgeführten Konstanten

dwRop Konstanten:

Const BLACKNESS = &H42
' Füllt das Ziel mit der Farbe '0' der Paltte (meist schwarz) 
 
Const DSTINVERT = &H550009
' Invertiert das Zielbitmap 
 
Const MERGECOPY = &HC000CA
' Verschmeltzt die Farben des Zieles mit dem Brush, welcher im Ziel 
' gewählt ist, unter Benutzung des AND-Operators 
 
Const MERGEPAINT = &HBB0226
' Verschmeltz die Farben des Zieles und der Quelle unter Benutzung des 
' OR-Operators 
 
Const NOTSRCCOPY = &H330008
' Kopiert das invertierte Quellbitmap ins Ziel-Device 
 
Const NOTSRCERASE = &H1100A6
' Kombiniert die Quell- und Zeilfarben mit dem OR-Operator und invertiert diese 
 
Const PATCOPY = &HF00021
' Kopiert den Brush, der in dem Ziel-Device vorhanden ist, in das Ziel-Device 
 
Const PATINVERT = &H5A0049
' Kombinert die Farben des Ziel-Brushs mit den Farben des Zieles unter 
' Benutzung des XOR-Operators 
 
Const PATPAINT = &HFB0A09
' Kombiniert die Farben des Ziel-Brushs mit den invertierten Quell-Farbwerten unter Benutzung
' des OR-Operators. Das Ergebnis wird mit den Farben des Zieles kombiniert mit 
' Hilfe des OR-Operators 
 
Const SRCCOPY = &HCC0020
' Kopiert den Inhalt der Quelle in das Ziel 
 
Const SRCAND = &H8800C6
' Kombiniert die Farben des Zieles und der Quelle mit Hilfe des AND-Operators 
 
Const SRCERASE = &H440328
' Kombiniert die invertierten Farben des Zieles mit den Farben der Quelle 
' mit Hilfe des AND-Operators 
 
Const SRCINVERT = &H660046
' Kombiniert die Farben des Zieles und der Quelle mit Hilfe des XOR-Operators 
 
Const SRCPAINT = &HEE0086
' Kombiniert die Farben des Zieles und der Quelle mit Hilfe des OR-Operators 
 
Const WHITENESS = &HFF0062
' Füllt das Ziel mit der Farbe '1' der Paltte (meist weiß) 

Rückgabewert:
War der Funktionsaufruf erfolgreich, wird ein Wert ungleich 0 zurückgegeben. , andernfalls Ist die Funktion erfolgreich so wird ein wert ungleich "0" zurück gegeben. Scheitert die Funktion (z.B. aufgrund falscher Angaben von Koordinaten), wird 0 zurückgegeben.

Beispiel:

Private Declare Function BitBlt Lib "gdi32.dll" ( _
  ByVal hdcDest As Long, _
  ByVal nXDest As Long, _
  ByVal nYDest As Long, _
  ByVal nWidth As Long, _
  ByVal nHeight As Long, _
  ByVal hdcSrc As Long, _
  ByVal nXSrc As Long, _
  ByVal nYSrc As Long, _
  ByVal dwRop As Long) As Long 
 
Private Const BLACKNESS = &H42
Private Const DSTINVERT = &H550009
Private Const MERGECOPY = &HC000CA
Private Const MERGEPAINT = &HBB0226
Private Const NOTSRCCOPY = &H330008
Private Const NOTSRCERASE = &H1100A6
Private Const PATCOPY = &HF00021
Private Const PATINVERT = &H5A0049
Private Const PATPAINT = &HFB0A09
Private Const SRCCOPY = &HCC0020
Private Const SRCAND = &H8800C6
Private Const SRCERASE = &H440328
Private Const SRCINVERT = &H660046
Private Const SRCPAINT = &HEE0086
Private Const WHITENESS = &HFF0062
' Kopiert den Inhalt eines Bildfeldes in ein anderes,
' wobei die Farben invertiert werden
Private Sub Command1_Click () 
  Dim Retval As Long 
 
  With Picture2
    Retval = BitBlt(.hDC, 0, 0, .Width, .Height, Picture1.hDC, 0, 0, SRCINVERT)
  End With
 
  If Retval = 0 Then 
    MsgBox "Ein Fehler ist aufgetreten.", vbCritical, "Fehler" 
  End If 
End Sub

Diese Seite wurde bereits 21.331 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2021 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel