vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2015
 
zurück
Rubrik: Grafik & Zeichnen22.03.05
AlphaBlend-Funktion

Diese Funktion kopiert ein Bitmap von einem Device auf ein anderes Device, wobei ein Alphawert angegeben werden kann, der das Bitmap durchscheinen lässt.

Betriebssystem:  Win98, WinNT 4.0, Win2000, WinMEViews:  9.289 

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise über 100,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 455,- EUR statt 569,- EUR
  • sevDTA 2.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 18,70 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 58,70 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    Deklaration:

    Declare Function AlphaBlend Lib "msimg32.dll" ( _
      ByVal hdcDest As Long, _
      ByVal xDest As Long, _
      ByVal yDest As Long, _
      ByVal WidthDest As Long, _
      ByVal HeightDest As Long, _
      ByVal hdcSrc As Long, _
      ByVal xSrc As Long, _
      ByVal ySrc As Long, _
      ByVal WidthSrc As Long, _
      ByVal HeightSrc As Long, _
      ByVal Blendfunc As Long) As Long

    Beschreibung:
    Diese Funktion kopiert ein Bitmap von einem Device auf ein anderes Device, wobei ein Alphawert angegeben werden kann, der das Bitmap durchscheinen lässt.

    Parameter:
    hdcDestErwartet den Devicekontext des Ziels, auf dem das Quellbitmap kopiert wird.
    xDestErwartet die horizontale Koordinate, ander das Quellbitmap auf dem Ziel positioniert werden soll.
    yDestErwartet die vertikale Koordinate, ander das Quellbitmap auf dem Ziel positioniert werden soll.
    WidthDestErwartet die neue Breite des Quellbitmaps.
    HeightDestErwartet die neue Höhedes Quellbitmaps.
    hdcSrcErwartet den Devicekontext des Gerätes, das das Quellbitmap enthält.
    xSrcErwartet die horizontale Koordinate, von der aus das Quellbitmap kopiert werden soll.
    ySrcErwartet die vertikale Koordinate, von der aus das Quellbitmap kopiert werden soll.
    WidthSrcErwartet die Breite des Quellbitmaps, die kopiert werden soll.
    HeightSrcErwartet die Höhe des Quellbitmaps, die kopiert werden soll.
    BlendfuncErwartet eine BLENDFUNCTION-Struktur, die gefüllt ist mit den Optionen der Blendoperation.

    Rückgabewert:
    Ist die Funktion erfolgreich, so ist die Rückgabe ein Wert "ungleich 0", andernfalls wird derWert "0" zurückgegeben. Unter Windows NT, 2000 und XP können Sie die GetLastError-Funktion für erweiterte Fehlerinformationen aufrufen.

    Beispiel:

    Private Declare Function AlphaBlend Lib "msimg32.dll" ( _
      ByVal hdcDest As Long, _
      ByVal xDest As Long, _
      ByVal yDest As Long, _
      ByVal WidthDest As Long, _
       ByVal HeightDest As Long, _
      ByVal hdcSrc As Long, _
      ByVal xSrc As Long, _
      ByVal ySrc As Long, _
      ByVal WidthSrc As Long, _
      ByVal HeightSrc As Long, _
      ByVal Blendfunc As Long) As Long
    Private Declare Sub MoveMemory Lib "kernel32.dll" _
      Alias "RtlMoveMemory"  ( _
      Destination As Any, _
      Source As Any, _
      ByVal Length As Long)
     
    Private Type BLENDFUNCTION
      BlendOp As Byte
      BlendFlags As Byte
      SourceConstantAlpha As Byte
      AlphaFormat As Byte
    End Type
     
    ' BlendFunction BlendOp-Konstante
    Private Const AC_SRC_OVER = &H0 ' die Quelle wird über dem Ziel gezeichnet
     
    ' 'BlendFunction AlphaFormat-Konstante
    Private Const AC_SRC_ALPHA = &H1 ' das Quellbitmap wurde schon mit dem Alphawert multipliziert
    ' Bildfelder einstellen
    Private Sub Form_Load()
      Picture1.ScaleMode = vbPixels
      Picture1.AutoRedraw = True
      Picture2.ScaleMode = vbPixels
      Picture2.AutoRedraw = True
    End Sub
    ' Alphablending starten
    Private Sub Command1_Click()
      Dim Retval As Long, LBF As Long, BF As BLENDFUNCTION
     
      ' Struktur mit Blendingwerten füllen
      With BF
        .BlendOp = AC_SRC_OVER
        .SourceConstantAlpha = 128
      End With
     
        ' Struktur in eine Long-Variable kopieren
      Call MoveMemory(LBF, BF, Len(BF))
     
      ' Alphablending-Operation durchführen
      With Picture1
        Retval = AlphaBlend(Picture2.hDC, 0, 0, Picture2.ScaleWidth,  _
        Picture2.ScaleHeight, .hDC, 0, 0, .ScaleWidth, .ScaleHeight, LBF)
        Picture2.Refresh
        If Retval = 0 Then
          MsgBox "Das Alphablending ist fehlgeschlagen"
        End If
      End With
    End Sub

    Diese Seite wurde bereits 9.289 mal aufgerufen.

    nach obenzurück
     
       

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