Masking in VB 6.0

ZockDom

Grünschnabel
Masking in VB 6.0 - Schon gelöst

Hallo!

Im Moment arbeite ich mit Visual Basic 6.0 EE, und habe bis jetzt noch in Erfahrung bringen können, wie ich Bilder möglichst schnell auf einem anderen Bild, ohne einen farbigen Kasten drum, anzeigen lassen kann. Ich hatte schon mehrere Ideen, wie z.B.:

For X=0 to Pic.Picture.Width
For Y=0 to Pic.Picture.Height
if Pic.point(X,Y)=Pic.point(1,1) then
Pic.Pset(X,Y),MainFrm.Point(X+Pic.Left,Y+Picp)
End If
Next Y
Next X

Aber die waren zu langsam für einen flüssigen Programmablauf. Ich weiss aber von anderen, in Visual Basic programmierten, Programmen, dass der Masking Vorgang ziemlich schnell ablaufen kann. Ich weiss nur nicht wie.

Es wäre für die (zweifelhafte) "Qualität" meiner Programme förderlich, wenn mir jemand einen Tipp geben könnte. Danke im Voraus.

gez. ZockDom
 
Zuletzt bearbeitet:
Schon gelöst

Ich habe die Lösung schon selbst gefunden.

Das wichtigste Element: gdi32.dll

Code:
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 DSTINVERT = &H550009  'Konstanten für BitBlt
Private Const SRCCOPY = &HCC0020
Private Const SRCAND = &H8800C6
Private Const SRCPAINT = &HEE0086
Private Const BLACKNESS = &H42
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 SRCERASE = &H440328
Private Const SRCINVERT = &H660046
Private Const WHITENESS = &HFF0062

Wer mehr wissen möchte einfach nach "gdi32.dll" im Internet suchen.
 

Neue Beiträge

Zurück