Tipp 0385 Transparenz mit TransparentBlt
Autor/Einsender:
Datum:
  Dinko Hasanbasic
29.02.2004
Entwicklungsumgebung:   VB 6
Mit der ab Windows 98 verfügbaren API-Funktion TransparentBlt ist es möglich eine beliebige Farbe in einer Grafik so zu definieren, dass diese auf einer anderen Grafik oder einem beliebigen Hintergrund transparent dargestellt wird. Dank dieser Funktion benötigt man keine Masken, um eine Transparenz zu erhalten, dieser Effekt wird direkt aus den Farbinformationen der Grafiken erzielt.
Weitere Informationen hierzu können in der Microsoft-Online-MSDN unter TransparentBlt nachgelesen werden.
 
Option Explicit

Private Declare Function TransparentBlt Lib "msimg32.dll" ( _
        ByVal hdcDest As Long, _
        ByVal nXOriginDest As Long, _
        ByVal nYOriginDest As Long, _
        ByVal nWidthDest As Long, _
        ByVal hHeightDest As Long, _
        ByVal hdcSrc As Long, _
        ByVal nXOriginSrc As Long, _
        ByVal nYOriginSrc As Long, _
        ByVal nWidthSrc As Long, _
        ByVal nHeightSrc As Long, _
        ByVal crTransparent As Long ) As Long

Private Sub Form_Load()
  Dim X As Long
  Dim Y As Long

  X = 90
  Y = 50

  TransparentBlt Me.hDC, X, Y, picSrc.ScaleWidth, _
       picSrc.ScaleHeight, picSrc.hDC, 0, 0, _
       picSrc.ScaleWidth, picSrc.ScaleHeight, vbWhite

End Sub
 
Weitere Links zum Thema
Alphablending und Transparenz
Transparente Objekte
Transparente Fenster
Transparente Fenster (ab Windows 2000)
Wichtiger Hinweis
Bei häufigen Aufrufen von TransparentBlt, insbesondere bei rekursiven Aufrufen unter Windows 98, kann es zu Speicherüberläufen kommen.

Windows-Version
95
98/SE
ME
NT
2000
XP
Vista
Win 7
VB-Version
VBA 5
VBA 6
VB 4/16
VB 4/32
VB 5
VB 6


Download  (120 kB) Downloads bisher: [ 2 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Projekte | Tutorials | API-Referenz | VB-/VBA-Tipps | Komponenten | Bücherecke | VB/VBA-Forum | VB.Net-Forum | DirectX-Forum | Foren-Archiv | DirectX | VB.Net-Tipps | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Dienstag, 6. September 2011