vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Grafik & Zeichnen13.07.01
StretchBlt-Funktion

Kopiert ein Bitmap aus einem "Speicher Device Kontext" (z.B. eine Form oder ein Bildfeld) in einen anderen Device-Kontext.

Betriebssystem:  Win95, Win98, WinNT 3.1, Win2000, WinMEViews:  13.168 

Deklaration:

Declare Function StretchBlt Lib "gdi32.dll" ( _
  ByVal hdcDest As Long, _
  ByVal nXDest As Long, _
  ByVal nYDest As Long, _
  ByVal nDestWidth As Long, _
  ByVal nDestHeight As Long, _
  ByVal hdcSrc As Long, _
  ByVal XSrc As Long, _
  ByVal YSrc As Long, _
  ByVal hSrcWidth As Long, _
  ByVal nSrcHeight As Long, _
  ByVal dwRop As Long) As Long

Beschreibung:
StretchBlt kopiert ein Bitmap aus einem "Speicher Device Kontext" (z.B. eine Form oder ein Bildfeld) in einen anderen Device-Kontext. Zusätzlich lassen die Ziel-Koordinaten so festlegen, daß die Kopie des Bildes verkleinert/vergrößert oder auch verzerrt dargestellt wird.

Parameter:
hdcDestGerätekontext des Zielobjekts.
nXDestHorizontale Koordinate des Zielrechtecks
nYDestVertikale Koordinate des Zielrechtecks
nDestWidth"neue" Breite des Bitmaps
nDestHeight"neue" Höhe des Bitmaps
hdcSrcGerätekontext des Quellobjekts (aus dem das Bitmap kopiert wird)
XSrcHorizontale Koordinate von welcher Position aus das Bitmap kopiert werden soll
YSrcVertikale Koordinate von welcher Position aus das Bitmap kopiert werden soll
WidthSrcLegt die Breite des Ausschnittes des Quell-Bitmaps fest, welcher in das Zielrechteck kopiert werden soll
HeightSrcLegt die Höhe des Ausschnittes des Quell-Bitmaps fest, welcher in das Zielrechteck kopiert werden soll
dwRopLegt fest, wie die Farbdaten des Quell-Bildes mit den Farbdaten des Ziel-Rechtecks kombiniert werden, um die endgültige Farbe zu erhalten.

dwRop Konstanten:

' Kopiert den Inhalt der Quelle in das Ziel
Const SRCCOPY = &HCC0020
 
' Kombiniert die Farben des Zieles und der Quelle mit Hilfe des AND-Operators
Const SRCAND = &H8800C6
 
' Kombiniert die invertierten Farben des Zieles mit den Farben der Quelle 
' mit Hilfe des AND-Operators
Const SRCERASE = &H440328
 
' Kombiniert die Farben des Zieles und der Quelle mit Hilfe des XOR-Operators
Const SRCINVERT = &H660046
 
' Kombiniert die Farben des Zieles und der Quelle mit Hilfe des OR-Operators
Const SRCPAINT = &HEE0086

Rückgabewert:
War der Funktionsaufruf erfolgreich, wir ein Wert ungleich 0 zurückgegeben. Tritt ein Fehler auf (z.B. aufgrund ungültiger Koordinaten-Angaben oder ungültige Device-Kontext), ist der Rückgabewert 0.


Beispiel:

Private Declare Function StretchBlt Lib "gdi32.dll" ( _
  ByVal hdcDest As Long, _
  ByVal nXDest As Long, _
  ByVal nYDest As Long, _
  ByVal nDestWidth As Long, _
  ByVal nDestHeight As Long, _
  ByVal hdcSrc As Long, _
  ByVal nXSrc As Long, _
  ByVal nYSrc As Long, _
  ByVal hSrcWidth As Long, _
  ByVal nSrcHeight As Long, _
  ByVal dwRop As Long) As Long
 
Private Const SRCCOPY = &HCC0020
Private Const SRCAND = &H8800C6
Private Const SRCERASE = &H440328
Private Const SRCINVERT = &H660046
Private Const SRCPAINT = &HEE0086
' Scalemode auf Pixel setzen
Private Sub Form_Load ()
  Me.ScaleMode = vbPixels
End Sub
' Kopiert ein Bitmap von einem Bildfeld in ein anderes, wobei das Zielbild 
' 10 Pixel in der Höhe und Breite kleiner ist. Desweiteren hat das Bitmap einen
' Randabstand von 5 Pixel, jeweils oben und links.
Private Sub Command1_Click ()
  Dim Retval As Long
 
  With Picture1
    Retval = StretchBlt(Picture2.hDC, 5, 5, .Width - 10, .Height -  _
      10, .hDC, 0, 0, .Width, .Height, SRCINVERT)
  End With
 
  If Retval = 0 Then
    MsgBox "Ein Fehler ist aufgetreten. Waren alle Angaben korrekt?",  _
    vbCritical, "Fehler
  End If
End Sub

Diese Seite wurde bereits 13.168 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2024 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