cs_Jordan59
Messages postés174Date d'inscriptionvendredi 26 mai 2006StatutMembreDernière intervention 9 avril 2014
-
31 janv. 2008 à 15:47
cs_Jordan59
Messages postés174Date d'inscriptionvendredi 26 mai 2006StatutMembreDernière intervention 9 avril 2014
-
1 févr. 2008 à 19:57
Bonjour à tous,
Je suis en train de réaliser un monopoly. J'ai donc mis une PictureBox avec le Plateau de jeu et je souhaite y placer mes pions ronds.
Je vais donc créer autant de PictureBox que de pions mais je n'arrive pas à trouver des pions ronds sans contour donc sans doute au format png et j'aurais voulu savoir comment en faire.
lemmingperceval
Messages postés128Date d'inscriptionmardi 18 décembre 2007StatutMembreDernière intervention 2 août 20096 31 janv. 2008 à 15:57
Ce n'est pas optimal de créer autant de pictureBox que de pions.
Regarde pour dessiner l'image de ton pions au lieu de créer une pictureBox et de lui donner une image.
lemmingperceval
Messages postés128Date d'inscriptionmardi 18 décembre 2007StatutMembreDernière intervention 2 août 20096 31 janv. 2008 à 15:59
mmmh sur l'événement Paint de ta pictureBox, regarde e.Graphics.DrawImage();
Tu donnes à cette méthode une Image et un point qui représentera la Location de ton image.
cs_Jordan59
Messages postés174Date d'inscriptionvendredi 26 mai 2006StatutMembreDernière intervention 9 avril 20147 31 janv. 2008 à 16:06
Merci,
Pour la localisation avec Point, j'avais déjà trouvé.
J'ai réussi à trouver des images en png mais une fois mais le problème est que la picturebox est carrée et le contour reste gris, il n'y aurait pas moyen de faire en sorte que le contour soit incolore ?
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 31 janv. 2008 à 19:14
Salut, lemmingperceval a raison, il ne faut pas créer une PictureBox pour chaque pion, mieux vaut dessiner directement dans la PictureBox, principale, ou un contrôle ou même directement sur la forme. Il te faut une classe Sprite qui gère la transparence des bitmaps ( PNG ou pas.. ) avec la methode Bitmap.MakeTransparent. Inspire toi de ce thread :
lemmingperceval
Messages postés128Date d'inscriptionmardi 18 décembre 2007StatutMembreDernière intervention 2 août 20096 31 janv. 2008 à 19:43
Petit plus qui peut être bien pratique. Par expérience je recommande pas le graphique sur un Form. Le control est pas du tout optimisé et le ralentissement est vraiment pas négligeable. Le mieux reste la pictureBox, meme qu'il y a des sources où l'on dessine sur un panel.
lemmingperceval
Messages postés128Date d'inscriptionmardi 18 décembre 2007StatutMembreDernière intervention 2 août 20096 31 janv. 2008 à 20:13
Oula j'ai pas encore eu mon cours sur les wrapper managé!
Tu dois mieux t'y connaitre que moi, donc je sors...
Non non le problème avec le Graphics sur le Form s'était présenté lorsque j'avais fais une application où je redimensionnais/déplacer des Rectangles.
Avec un rectangle ca allait moyen, mais a partir de 10 rectangle c'était la catastrophe, même en rafraichissant juste la zone du rectangle modifié.
Du coup en voyant dans la doc que le PictureBox est fait pour dessiner dessus, j'ai changé la Form pour un PictureBox, c'est tout de suite mieux allé.
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 31 janv. 2008 à 20:27
Pour éviter ce genre de problème on utilise un double buffer, c-à-d qu'on dessine tout sur un bitmap en mémoire, donc invisible et c'est seulement après qu'on affiche le bitmap dans la forme, il y a donc qu'une seule opération de dessin sur la forme ( même si tu dessines 1 milliard de rectangles.. ).