bonsoir
bon voila j'ai le code suivant pour redimensionner des images pour les enregistrer dans une base de données le seul probleme c'est qu'il m'enregistre l'image une seconde fois modifié a l'emplacement de l'autre image sous la forme : " CheminDeMonImage.jpeg(1)"
c'est pour savoir si il n'y a pas moyen de supprimer ce fichier une fois l'enregistrement fai ds ma base avec les bonnes dimensions.
Wala MERCI!!!
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
strImg = OpenFileDialog1.FileName
img = Image.FromFile(strImg)
Ton fichier doit être utilisé par ton propgramme, donc tu ne peux pas le supprimer.
il faut libérer le fichier avant de pouvoir le supprimer. C'est ce que je comprend de ton message d'erreur.
Si le fichier que tu veux supprimer est l'image dans ta picturebox tu ne pourras pas le supprimer. Il faudra libérer la picturebox et l'objet image avant de passer à la suppression du fichier
le fichier que je veux supprimer est le nouveau fichier créé a de bonnes dimensions pour ma base de données
mais pour libere ma picture box je fais bien picturebox1=nothing et idem pour limage img=nothing mais cela ne marche pas
Eh bien il medit:
"System.SecurityException : Exception de HRESULT : 0x800A0046(CTL_E_PERMISSIONIED)
at scrpting.FileClass.Delete(Boolean Force)
at testimg.form1.btnsave_click(object sender, EventArgs e) in E:\Visual Studio Projects\testimg\form1.vb:line 300
'Charge une image dans la picturebox
Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Click
'Si mon objet image n'est pas vide je le vide
If
Not (IM
Is
Nothing)
Then
IM.Dispose()
End
If
'Affectation de l'image à mon objet
IM =
New Bitmap("C:\test.jpg")
'Affichage de l'image dans la picture box
PictureBox1.Image = IM
End
Sub
'Sauve l'image
'Vide la picture box
'Libère la ressource objet image
'Supprimer le fichier de départ
'Renomme de nouveau fichier en fichier de départ (pour que l'application puisse touner en boucle)
'Suprimer le fichier temporaire
Private
Sub Button2_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button2.Click
'Sauvegarde mon image
PictureBox1.Image.Save("C:\test1.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
'Vide la picture box
PictureBox1.Image =
Nothing
'Vide mon objet image
IM.Dispose()
'Supprimer le fichier de départ
File.Delete("C:\test.jpg")
'Copie le ficher sauvagarder sous le nom du fichier de départ
File.Copy("C:\test1.jpg", "C:\test.jpg")
'Supprimer le fichier sauvagarder
File.Delete("C:\test1.jpg")
Bah merci mais non cela ne m'avance pas car en fait mon image redimensionnée est juste pour ma base de données il faut que je garde l'image originale sur mon pc!
je suis d'accord avec toi mais ceci servait d'exemple pour te montrer un raisonnement, il est évident que tu dois adapter le bout de solution que je te propose à ton cas précis
Pour créer une référence à la bibliothèque de types Scripting (Scrrun.dll)
Dans le menu Projet, cliquez sur Ajouter une référence, puis sur l'onglet COM.
Sélectionnez Microsoft Scripting Runtime dans la liste Nom du composant, puis cliquez sur Sélectionner.
Vous pouvez à présent utiliser l'Explorateur d'objets pour visualiser les objets, les collections, les propriétés, les méthodes, les événements et les constantes du modèle FSO.
Pour créer un objet FileSystemObject
Dimensionnez une variable comme type FileSystemObject, comme dans le code suivant :
Dim fso As New FileSystemObject
- ou -
Utilisez la méthode CreateObject pour créer un objet FileSystemObject, comme dans le code suivant :
fso = CreateObject("Scripting.FileSystemObject")