Garder images persistante sur picturebox

olibara
Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
- 27 avril 2008 à 15:18
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
- 1 mai 2008 à 10:17
Bonjour


Il y a un truc que je ne maitrise toujours pas bien avec les graphics :




1-je fais un graphics sur un bitmap crée a partir d'un picture box


     Image Zoom = new Bitmap(pb_zoom.Width, pb_zoom.Height);
      Graphics graphics = Graphics.FromImage(Zoom);


2- Je dessine des trucs dessus et puis j'assigne le bitmap au PB


      pb_zoom.Image = Zoom;

En faisant cela, j'ai une image de fond persistante sur laquelle je peux creer un nouveau graphics pour dessiner des images non persistantes



     Graphics TmpGraphics = pb_zoom.CreateGraphics();
      TmpGraphics.DrawLine(Pens.Black, pZoomRef, pcur);/CODE




Mais ce que j'aimerais faire c'est
1- Garder mon image de fond crée au debut
2- Redessiner des truc dessus qui ne disparaitront pas au moindre refresh
3- Recuperer mon image de fond quand l'utilisateur a fini de bricoler dans l'image.




Comment faire cela le plus facilement ?

5 réponses

nhervagault
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
35
27 avril 2008 à 21:54
Salut

Regardes  le post suivant
http://www.csharpfr.com/infomsg_PROBLEME-AVEC-PICTUREBOX_1101155.aspx

Tu trouveras peut etre la reponse a ton probleme
0
olibara
Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
5
27 avril 2008 à 23:43
Salut

Le post que tu cite avec to code fais exactement ce que je fais déja
Le problème n'est pas la


Je le re-explique :

Ce que j'aimerais connaitre c'est la maniere la plus correcte de pouvoir exploiter plusieurs images permanente sur un PB

Si je cree un graphics a partir d'un bitmap genere dans le frame de mon picturebox que je dessine dessus et que j'assigne l'image au ¨PB (code dont j'ai donné l'exemple), cette image sera fixée et resitera aux refresh

Si je cre un graphics directement depuis mon PB je peux dessiner sur mon image mais ces dessins disparaitont apres un refresh ou un Paint


Ce que je voudrais faire c'est crer une image persistente A (premier exemple)


A partir de cette image dessiner une AUTRE image persistante B avec A en fond


Mais a tout moment pouvoir jeter B et revenir sur A


 
0
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
99
30 avril 2008 à 23:50
Heu bah avec 2 images :
- créer A
- dessiner sur A
- créer B aux mêmes dimensions que A
- dessiner A sur B
- conserver A
- dessiner sur B

Au passage PictureBox est là pour afficher des images, pas vraiment pour servir de surface de dessin.

/*
coq
MVP Visual C#
CoqBlog
*/
0
olibara
Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
5
1 mai 2008 à 09:28
Merci Coq

2 image, c'est effectivement ce que je me suis decidé de faire

J'esperais trouver un moyer pour "fixer" un graphics dans une image apres l'avoir dessiné mais c'est vraissemblablement pas possible.

NB : PB n'est pas la pour servir de surface de dessin .. OK mais qu'est ce qui est le plus approprié alors ?

Ce qui est en tout cas tres pratique avec PB c'est d'avoir directement les coordonées XY du frame sur un mouse move par exemple
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
99
1 mai 2008 à 10:17
Au pire utilises un Panel, mais dans ton cas le mieux serait sans doute de réaliser un contrôle à part entière, ça te permettrait d'éviter de "polluer" le code extérieur et ça serait réutilisable.

/*
coq
MVP Visual C#
CoqBlog
*/
0