Meilleur auteur de réponses
Insérer formes supprimables dans un PictureBox

Question
-
Bonjour,
Au sein de mon application j'ai créé une picturebox dans laquelle j'ai inséré une image (un plan de maison), sur laquelle (composant graphic de la picturebox) je dois par la suite ajouter graphiquement les emplacements de plusieurs capteurs (sous forme de Rectangle vert par exemple). Ces capteurs sont ajoutés par clique sur l'image au fur et à mesure de la vie de l'application (via une commande d'ajout) et peuvent être supprimés n'importe quand par simple clique sur une autre commande (sans pour autant affecter les autres).
N'ayant pas trouvé de solutions qui me convenaient sur internet, je pensais à 2 solutions :
- soit créer un tableau de tous les rectangles à afficher, et à chaque suppression/ajout de rectangle dans ce tableau, l'image de la picturebox est supprimée et mise à jour.
- soit créer par dessus la picturebox un "layer" (sous forme de panel ? ) pour chaque rectangle qui serait au premier plan/l'image de la picturebox. Ainsi il me suffira de supprimer le "layer" relatif au rectangle à supprimer pour mettre à jour ma carte.
Existe ils de meilleures solutions ? Si non, comment puis-je créer des "layers" par dessus ma picture box ?
Merci de vos réponses,
Vincent P.
Réponses
-
Bonjour,
Les "layers" pourraient être des bitmaps qui sont superposés les uns aux autres avec un fond transparent pour produire le bitmap final. Les deux approches ne sont pas forcément exclusives : garder les rectangles (ou autres primitives) permet de redessiner un layer modifié, garder le bitmap permet de réutiliser un layer inchangé sans rien retracer de ce layer en particulier.
Pour un prochain projet essayer de voir aussi comment fonctionne WPF par rapport à Windows Forms. Le principe est que tout ce qui s'affiche à l'écran (dont les primivites vectorielles, rectangles, ellipses, polygones...) sont des contrôles. Il est donc très facile d'ajouter ou supprimer des primitives graphiques (en gros c'est le principe précédent mais c'est géré par WPF).
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
- Proposé comme réponse Ciprian Duduiala mardi 13 mars 2012 07:14
- Marqué comme réponse Ciprian Duduiala jeudi 15 mars 2012 07:30
-
Je n'y pensais plus mais voir également peut-être du côté du "PowerPack" qui fournit notamment un contrôle Rectangle :
http://msdn.microsoft.com/fr-fr/library/microsoft.visualbasic.powerpacks.rectangleshape.aspx
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
- Proposé comme réponse Ciprian Duduiala mardi 13 mars 2012 07:14
- Marqué comme réponse Ciprian Duduiala jeudi 15 mars 2012 07:30
Toutes les réponses
-
Bonjour,
Les "layers" pourraient être des bitmaps qui sont superposés les uns aux autres avec un fond transparent pour produire le bitmap final. Les deux approches ne sont pas forcément exclusives : garder les rectangles (ou autres primitives) permet de redessiner un layer modifié, garder le bitmap permet de réutiliser un layer inchangé sans rien retracer de ce layer en particulier.
Pour un prochain projet essayer de voir aussi comment fonctionne WPF par rapport à Windows Forms. Le principe est que tout ce qui s'affiche à l'écran (dont les primivites vectorielles, rectangles, ellipses, polygones...) sont des contrôles. Il est donc très facile d'ajouter ou supprimer des primitives graphiques (en gros c'est le principe précédent mais c'est géré par WPF).
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
- Proposé comme réponse Ciprian Duduiala mardi 13 mars 2012 07:14
- Marqué comme réponse Ciprian Duduiala jeudi 15 mars 2012 07:30
-
Je n'y pensais plus mais voir également peut-être du côté du "PowerPack" qui fournit notamment un contrôle Rectangle :
http://msdn.microsoft.com/fr-fr/library/microsoft.visualbasic.powerpacks.rectangleshape.aspx
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
- Proposé comme réponse Ciprian Duduiala mardi 13 mars 2012 07:14
- Marqué comme réponse Ciprian Duduiala jeudi 15 mars 2012 07:30
-
Bonjour, Vincent,
Est-ce que vous avez pu avancer en utilisant les infos fournies par Patrice ? Merci de tenir la communauté informée sur la suite de vos démarches.
Bonne journée,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.