merci
mais j'y arrive tjs pas ,j'ai trouvé ca :
Title Overlay one image on another with a transparent color by using PSet
Description This example shows how to overlay one image on another with a transparent color by using PSet in Visual Basic 6.
Keywords PSet, overlay, transparent
Categories Graphics
This program simply loops through the pixels in the images. For each image in top-to-bottom order, the program looks for a color other than the one defined as transparent. When it finds such a color, it stops looking at the images and sets the output pixel's color using PSet.
Code :
- Private Sub cmdCombine_Click()
- Dim max_input As Integer
- Dim transparent As Long
- Dim wid As Single
- Dim hgt As Single
- Dim X As Single
- Dim Y As Single
- Dim i As Integer
- Dim clr As Long
- cmdCombine.Enabled = False
- MousePointer = vbHourglass
- DoEvents
- max_input = picInput.ubound
- For i = 0 To max_input
- picInput(i).AutoRedraw = True
- picInput(i).ScaleMode = vbPixels
- Next i
- picResult.Width = picInput(0).Width
- picResult.Height = picInput(0).Height
- picResult.ScaleMode = vbPixels
- transparent = picTransparent.BackColor
- wid = picInput(0).ScaleWidth
- hgt = picInput(0).ScaleHeight
- For Y = 0 To hgt
- For X = 0 To wid
- For i = max_input To 0 Step -1
- clr = picInput(i).Point(X, Y)
- If clr <> transparent Then Exit For
- Next i
- picResult.PSet (X, Y), clr
- Next X
- DoEvents
- Next Y
- picResult.Picture = picResult.Image
- cmdCombine.Enabled = True
- MousePointer = vbDefault
- Beep
- End Sub
|
Note that there are faster ways to access color values in V 6 and VB .NET, and that there are faster methods for merging images if you have an overlay mask. Note also that VB .NET provides tools for setting a transparent color for an image so this problem is trivial in VB .NET.
D'apres la derniere phrase on pourrai le faire sans code ... ??