OVH Cloud OVH Cloud

Liberation d'une Image

2 réponses
Avatar
anthride
Bonjour
je met une image dans une PictureBox. pas de probleme.
je voudrais recuperer cette image pour l'incorporer dans
un autre traitement. mais une erreur me signale qu'elle
est en cours d'utilisation . Comment la liberer du
PictureBox. Si non faire un dispose et recreer le
controle picture box.
merci DESVERNES Claude

2 réponses

Avatar
Christophe
Il faut recréer une instance de l'image, voila un exemple tiré d'un de mes
programmes :

Try

'Photo du produit

Dim bm_source As New Bitmap(PicPhotoPROD.Image) 'Nouveau Bitmap avec mon
picturebox : PicPhotoPROD

Dim bm_dest As New Bitmap(100, 120) 'Nouveau Bitmap de taille 100*120

Dim gr_dest As Graphics = Graphics.FromImage(bm_dest) 'initialisation

gr_dest.DrawImage(bm_source, 0, 0, bm_dest.Width + 1, bm_dest.Height + 1)
'je mets mon image

PicPhotoPROD.Image = bm_dest 'Je re-remplit mon picturebox

Me.PicPhotoPROD.Image.Save(AppPath & "PicsPROD-" & FormatFichier(NumPROD)
& ".png", System.Drawing.Imaging.ImageFormat.Png) 'Je sauve

Catch ex As Exception

MsgBox("La photo du produit n'a pas pue être sauvegardée...")

End Try


"anthride" a écrit dans le message de
news:2b6401c4a31b$44a44fc0$
Bonjour
je met une image dans une PictureBox. pas de probleme.
je voudrais recuperer cette image pour l'incorporer dans
un autre traitement. mais une erreur me signale qu'elle
est en cours d'utilisation . Comment la liberer du
PictureBox. Si non faire un dispose et recreer le
controle picture box.
merci DESVERNES Claude



Avatar
Anthride
Merci pour ton exemple
DESVERNES Claude

"Christophe" a écrit :

Il faut recréer une instance de l'image, voila un exemple tiré d'un de mes
programmes :

Try

'Photo du produit

Dim bm_source As New Bitmap(PicPhotoPROD.Image) 'Nouveau Bitmap avec mon
picturebox : PicPhotoPROD

Dim bm_dest As New Bitmap(100, 120) 'Nouveau Bitmap de taille 100*120

Dim gr_dest As Graphics = Graphics.FromImage(bm_dest) 'initialisation

gr_dest.DrawImage(bm_source, 0, 0, bm_dest.Width + 1, bm_dest.Height + 1)
'je mets mon image

PicPhotoPROD.Image = bm_dest 'Je re-remplit mon picturebox

Me.PicPhotoPROD.Image.Save(AppPath & "PicsPROD-" & FormatFichier(NumPROD)
& ".png", System.Drawing.Imaging.ImageFormat.Png) 'Je sauve

Catch ex As Exception

MsgBox("La photo du produit n'a pas pue être sauvegardée...")

End Try


"anthride" a écrit dans le message de
news:2b6401c4a31b$44a44fc0$
> Bonjour
> je met une image dans une PictureBox. pas de probleme.
> je voudrais recuperer cette image pour l'incorporer dans
> un autre traitement. mais une erreur me signale qu'elle
> est en cours d'utilisation . Comment la liberer du
> PictureBox. Si non faire un dispose et recreer le
> controle picture box.
> merci DESVERNES Claude
>