cs_PHILOUVB
Messages postés141Date d'inscriptionmardi 18 mars 2003StatutMembreDernière intervention 3 octobre 2010
-
4 juin 2009 à 20:26
cs_PHILOUVB
Messages postés141Date d'inscriptionmardi 18 mars 2003StatutMembreDernière intervention 3 octobre 2010
-
6 juin 2009 à 16:37
Bonjour
Mon problème est le suivant :
J'ai créé un picturebox dans lequel j'insère une portion d'une image contenue elle aussi dans un picturebox.
Pour cela j'utilise la fonction DrawImage
Cela donne le code suivant
ulCorner = New Point(0, 0)
urCorner = New Point(50, 0)
llCorner = New Point(0, 50)
destPara = New Point() {ulCorner, urCorner, llCorner}
srcRect = New Rectangle(20, 20, 100, 100)
newimage = PictureBox1.Image (contenant l'image de départ)
Je clique sur un bouton qui lance la procédure suivante
Me.PictureBox2.CreateGraphics.DrawImage(New Bitmap(newimage), destPara, srcRect, units)
Et cela fonctionne très bien.
Mon soucis est que si je réduit la fenetre Form pour la restaurer ensuite, mon image disparait.
Et là j'ai besoin de vous !!!
Je ne m'explique pas pourquoi l'image disparait.
Avez-vous une idée ??
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 4 juin 2009 à 21:42
Bonsoir,
La méthode PictureBox.CreateGraphics crée un graphique à partir du contôle lui-même. C'est l'équivalant de :
Dim g As New Graphic = Graphics.FromHwnd(PictureBox.Handle)
Elle déssine dans le contrôle directement et non pas dans une image qui se place dans le contrôle, de ce fait, quand celui-ci doit être redessiné (Suite à une sortie de l'écran, il appelle la méthode "Paint" en te passant en paramètre une instance de la classe PaintEventArgs, contenant le graphique du contrôle.
Place ta procédure dans celui-ci ou bien suis la méthode suivante :
Ce qu'il faut que tu fasse, c'est dessiner dans une Bitmap et insérer celle-ci dans ton PictureBox.
Dim _bmp As New Bitmap(Width, Height)
Dim g As Graphics = Graphics.FromImage(_bmp)
g.DrawImage ....
PictureBox1.Image = _Bmp
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <