Chebitou
Messages postés4Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention16 avril 2008
-
14 avril 2008 à 17:50
cs_hades001
Messages postés1Date d'inscriptionmercredi 5 décembre 2007StatutMembreDernière intervention 8 août 2010
-
8 août 2010 à 01:45
Bonjour,
Voici mon problème : j'ai un PictureBox qui contient une image et je voudrais simuler le déplacement d'un objet sur l'image,
mais je veux que l'objet soit dessiné d'une manière transparente sur
l'image principale. est ce que quelqu'un sait comment faire ça sous
compact framework.
bubbathemaster
Messages postés339Date d'inscriptiondimanche 26 janvier 2003StatutMembreDernière intervention25 mars 20094 14 avril 2008 à 20:57
Je suis pas sûr d'avoir bien compris la question mais les picturebox gèrent la transparence.
Si tu veux déplacer une picturebox2 dans une picturebox1 plus grande, il te suffit de mettre backcolor de picturebox2 à transparent et d'y charger un format image qui gère la transparence (à tout hasard: png)
Chebitou
Messages postés4Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention16 avril 2008 15 avril 2008 à 00:29
Salut, j'ai déjà essayé de faire comme ce que t'as dit càd définir le BackColor à transparent mais le problème c'est le PictureBox2 devient transparent mais uniquement par rapport au Form ce qui est tout à fait normal puisque c'est l'objet parent, alors j'ai essayé de définir PictureBox1 comme étant le parent de PictureBox2 mais ça me balance une exception et j'arrive pas à le faire marcher sur compact framework, je pense que la même chose marche nickel sur PC. donc je suis un peu coincé :-( .
bubbathemaster
Messages postés339Date d'inscriptiondimanche 26 janvier 2003StatutMembreDernière intervention25 mars 20094 15 avril 2008 à 02:01
Tu as raison, c'est parceque par défaut une picturebox n'est pas un container et donc Visual Studio va mettre pic2 dans la form, et non dans pic1. La faut bidouiller un peu le code généré automatiquement par Visual Studio, qq part tu dois avoir du code type:
Form1.Controls.Add(PictureBox2);
Que tu enlève et que tu remplace par :
PictureBox1.Controls.Add(PictureBox2);
Et ca va régler ton problème. Attention cependant Visual Studio est têtu: si tu drag and drop la pic2, il va la remettre dans la form. Pour la bouger faut y'aller en modifiant les propriété left/top... Pas très pratique.
Chebitou
Messages postés4Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention16 avril 2008 16 avril 2008 à 01:07
en fait sous compact framework l'attribut Controls n'est pas accessible pour les objets de type PictureBox, il l'est uniquement pour les objets de type Form. j'ai essayé de definir l'objet parent comme ça : pictureBox2.Parent = pictureBox1;
mais ça me balance l'exception suivante :
System.ArgumentException was unhandled
Message="Value does not fall within the expected range."
StackTrace:
at Microsoft.AGL.Common.MISC.HandleAr()
at System.Windows.Forms.Control._SetParent()
at System.Windows.Forms.Control.set_Parent()
at LastPictureBoxTest.Form1..ctor()
at LastPictureBoxTest.Program.Main()
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_hades001
Messages postés1Date d'inscriptionmercredi 5 décembre 2007StatutMembreDernière intervention 8 août 2010 8 août 2010 à 01:45
y a plus simple
1 metre ta premier image en image de font de ta picturebox
2 cree un objet bitmap qui va ton tenir ton objet qui bouge
3 dans le bitmap tu as une methode MakeTransparent(); pour lui designer la couleur qui va etre transparente.
4 mette l image de ton objet comme image de ta picturbox.