Un sujet en cours de traitement sous VBA, à propos de transparence de Frames, me donne l'occasion de montrer ici comment on peut très facilement, sous VB, assurer la transparence :
- des Frames
- des Pictureboxes
Quelqu'un vient de me poser la question :
A quoi celà peut-il servir ?
Réponse : à une foule de choses, parmi lesquelles le dessin animé.
Exemple :
sur un décor avec une porte à gauche et un mur à droite :
On place sur le décor un Frame transparent dont le bord gauche correspond à la porte et le bord droit coincide avec le mur :
On place dans ce cadre une icône avec transparence (de sorte à ne pas "transporter" ce qui entoure le personnage) représentant un personnage sortant de la porte, traversant le Frame et passant ensuite derrière le mur.
Sans le Frame transparent (pour garder le décor), il faudrait dessiner des images successives de moins en moins "tronquées" à gauche pour sortie par la porte et de plus en plus "tronquées" à droite pour passer derrière le mur.
La présence d'un cadre libère de cette tâche inutile et fastidieuse car la partie de l'image débordant du cadre (tant à gauche qu'à droite) n'est tout simplement jamais visible
Ce n'est qu'un exemple d'application. Il y en a des foules d'autres, en passant par la cartographie, les plans, etc...
J'ai voulu faire une petite "demo" pour illustrer un peu ce que j'ai dit dans mon message précédent.
Elle est grossière (dessin bâclé) mais "parlante".
2 cas sont traités : animation et commentaires...
Le reste dépendra de la créativité de chacun...
EDIT : je viens d'améliorer encore cette "démo", qui met beaucoup mieux en évidence l'utilité de la méthode Voir donc le zip modifié plus bas dans cette discussion
Comme exposé plus haut, j'ai supprimé le zip précédent pour le remplacer par celui-ci, qui met encore mieux en évidence l'utilité de cette méthode
Sans rien ajouter ni modifier du dessin "décor" présent, le parcours du chien est maintenant géré de 4 façons différentes (derrière les murs - devant les murs - devant le mur de gauche et derrière celui de droite - derrière le mur de gauche et devant celui de droite) en ajoutant simplement 4 optionbuttons et le tout petit bout de code suivant :
celà suffit, vous le verrez, à gérer les 4 types de déplacement et met en exergue l'agilité de la méthode. J'aurais pu faire encore plus surprenant (toujours avec la même méthode) mais pense que ces déplacements suffisent à ceux qui ont un esprit créatif)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub parcours_Click(Index As Integer) Select Case Index Case Is = 0 Frame2.Move poscadre(0).X1, poscadre(0).Y1, poscadre(1).X1 - poscadre(0).X1, poscadre(0).Y1 Case Is = 1 Frame2.Move 0, poscadre(0).Y1, poscadre(2).X1, poscadre(0).Y1 Case Is = 2 Frame2.Move 0, poscadre(0).Y1, poscadre(1).X1, poscadre(0).Y1 Case Is = 3 Frame2.Move poscadre(0).X1, poscadre(0).Y1, poscadre(2).X1 - poscadre(0).X1, poscadre(0).Y1 End Select frame_transparent Frame2, Me, Image2 lancerchien.Visible = True End Sub
J'en ai profité pour faire un peu de place à mon quota de pièces jointes
Voilà donc le zip "démo" dont il s'agit :
Important : ne touchez à aucune des lignes (lines) se trouvant sur la form. Leur positionnement est important.
Le premier zip traite de la transparence tant des Frames que des Pictureboxes (traitements très différents)
Le 2ème zip montre comment utiliser la transparence d'un Frame pour gérer une animation et ne traite aucunement de la transparence d'une picturebox.
Lance l'un et l'autre de ces 2 zips... Examine tout... et profites-en au mieux
Partager