Superposer 2 images avec gestion de transparence ...

Superposer 2 images avec gestion de transparence ... - VB/VBA/VBS - Programmation

Marsh Posté le 06-07-2006 à 19:28:46    

:hello:  
 
j'aurais voulut savoir s'il etait possible de superposer 2 images (.png ou autre) avec support de la couleur "transparente"
 
Je vous explique, il y a un fond ,et un personage qui se deplace dessus ,ca fait ca :
 
http://img190.imageshack.us/img190/392/picture14sz.jpg
 
je ne veut pas du blanc autour de l'image ...
 
ya t'i lpossibilité de faire ca dans Vbexpress ?
 

Reply

Marsh Posté le 06-07-2006 à 19:28:46   

Reply

Marsh Posté le 07-07-2006 à 10:47:06    

Reply

Marsh Posté le 07-07-2006 à 10:49:08    


sous vb editor tu as dans les propriétés de l'image la transparence ou l'opacité de dispo il me semlbe...

Reply

Marsh Posté le 07-07-2006 à 10:55:18    

vb editor = la page design de ma form ?

Reply

Marsh Posté le 07-07-2006 à 11:21:30    

tomsoft a écrit :

vb editor = la page design de ma form ?


avec mes excuse, a marche pour les boutons seulement po pour les images :s

Reply

Marsh Posté le 08-07-2006 à 18:28:30    

:( ca serait donc impossible ?

Reply

Marsh Posté le 19-08-2006 à 18:15:08    

:cry:

Reply

Marsh Posté le 21-08-2006 à 03:17:01    

Reply

Marsh Posté le 21-08-2006 à 16:41:29    

merci :jap:
 
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 :
  1. Private Sub cmdCombine_Click()
  2. Dim max_input As Integer
  3. Dim transparent As Long
  4. Dim wid As Single
  5. Dim hgt As Single
  6. Dim X As Single
  7. Dim Y As Single
  8. Dim i As Integer
  9. Dim clr As Long
  10.     cmdCombine.Enabled = False
  11.     MousePointer = vbHourglass
  12.     DoEvents
  13.     max_input = picInput.ubound
  14.     For i = 0 To max_input
  15.         picInput(i).AutoRedraw = True
  16.         picInput(i).ScaleMode = vbPixels
  17.     Next i
  18.     picResult.Width = picInput(0).Width
  19.     picResult.Height = picInput(0).Height
  20.     picResult.ScaleMode = vbPixels
  21.     transparent = picTransparent.BackColor
  22.     wid = picInput(0).ScaleWidth
  23.     hgt = picInput(0).ScaleHeight
  24.     For Y = 0 To hgt
  25.         For X = 0 To wid
  26.             For i = max_input To 0 Step -1
  27.                 clr = picInput(i).Point(X, Y)
  28.                 If clr <> transparent Then Exit For
  29.             Next i
  30.             picResult.PSet (X, Y), clr
  31.         Next X
  32.         DoEvents
  33.     Next Y
  34.     picResult.Picture = picResult.Image
  35.     cmdCombine.Enabled = True
  36.     MousePointer = vbDefault
  37.     Beep
  38. 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 ... ??

Reply

Marsh Posté le 21-08-2006 à 17:03:09    

Voir Aide en Ligne Bitmap.MakeTransparent Method (Color)
ainsi que les exemples sur le site vb Helper
 
howto_net_translucent_text
howto_net_copy_transparent_image_shape
howto_net_analog_clock_transparent
howto_net_transparent_form
howto_net_maketransparent
howto_net_copy_transparent_image_shape


Message édité par kiki29 le 21-08-2006 à 17:13:37
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed