joecoolups
Messages postés1Date d'inscriptionlundi 5 mars 2007StatutMembreDernière intervention31 juillet 2007
-
31 juil. 2007 à 14:22
TeBeCo
Messages postés467Date d'inscriptionlundi 24 juin 2002StatutMembreDernière intervention 9 mars 2011
-
8 août 2007 à 13:44
Bonjour Mon probleme est le suivant:
est il possible d'avoir 2 picturebox (un grand et un petit), l'un sur l'autre (le petit sur le grand), de définir une couleur de transparence sur le petit (magenta par exemple) et d'afficher l'ensemble, je peux ainsi balader avec la souris mon petit picturebox avec la souris en gardant l'effet de transparence. Pour le moment si je fais ça, le magenta prend la couleur de la fenetre principale.
Avez vous une idée ?
Je passe par des pictureBox car c'est plus facile à gérer et a créer dynamiquement. Si non je pense passer par un Buffer Bitmap et gérer moi meme les pixels et les evenements souris. Qu'en pensez vous ? autre solution ?
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 31 juil. 2007 à 19:52
C'est un contrôle comme une autre..
par exemple tu le crées dans le constructeur de ta forme comme ça :
TransparentControl ctrl = new TransparentControl( );
ctrl.Size = new Size( 100, 100 );
ctrl.Location = new Point( 10, 10 );
ctrl.Parent = this; // Attention qu'il ne soit pas en-dessous d'un autre contrôle.
Pour l'exemple dans sa méthode OnPaint, il ne fait rien d'autre que de dessiner un cadre noir au tour de lui sinon il serait totalement transparent mais tu peux très bien dessiner une image avec la méthode DrawImage.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_sephiro
Messages postés101Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention18 février 2008 1 août 2007 à 11:46
Bonjour, voici la methode que j'ai utilisé:
Dans l'evenement Paint, je liste les controls de type PictureBox du Parents
foreach (
Control MyControl
in
this.Parent.Controls )
pour chaque Pixel magenta de mon Bitmat je recherche la couleur du pixel du control en dessous,je le remplace dans mon Bitmap par un setpixel.
puis j'affiche mon PictureBox avec le bitmap modifié
pour le moment je travail par getpixel et setpixel mais je vais optimiser par des pointeur.
Merci pour ton aide Lutinore
Sephiro
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 1 août 2007 à 12:31
Si tu débutes en C#, les pointeurs ça ne va pas être simple. Peux tu me faire une capture d'écran de ce que tu veux vraiment faire, car à mon avis il y'a moyen de se passer des picturesbox et des pointeurs. ( heberger l'image sur hiboox.com ou imageshack.us par exemple ).
cs_sephiro
Messages postés101Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention18 février 2008 2 août 2007 à 09:32
Bonjour
Je n'aurais pas de probleme avec les pointeurs, je débute en C# mais je fais du C/C++ Win32 depuis 15 ans.
Mon approche du C# n'est pas bonne j'ai trop de reflexes C++, ton code va me permettre de travailler plus proprement avec des notion d'evenement dans mes objects.
Merci pour ton aide