zippedfire
Messages postés98Date d'inscriptionmercredi 6 octobre 2010StatutMembreDernière intervention21 novembre 2023
-
30 déc. 2011 à 11:57
Utilisateur anonyme -
31 déc. 2011 à 00:01
Bonjour,
Quand j'essaie de sauvegarder une image(VB.NET) avec :
Dim img As System.Drawing.Image = Image.FromFile("temp.bmp")
' ... actions sur l'image ... '
Dim ImgFormat As System.Drawing.Imaging.ImageFormat = System.Drawing.Imaging.ImageFormat.Bmp
img.Save("temp.bmp", ImgFormat)
Visual Studio 2010 me dit :
Une exception s'est produite
type : ExternalException
message : Une erreur générique s'est produite dans GDI+
Si vous pouvez m'aider c'est ici
Merci
Problème récurent.
Une image chargée (dans un contrôle ou en mémoire) avec FromFile (lecture) verrouille le fichier de l'image et interdit un nouvel accès (dans ton cas tant que ta variable img existe). Donc 'Save' qui demande un nouvel accès (en écriture cette fois) sera refusé. D'où ton erreur GDI.
Il vaut mieux former un flux et charger l'image depuis ce flux. Celui-ci sera automatiquement détruit lors de l'instruction 'end using' ce qui permet de nouveaux accès au fichier.
Dim img As System.Drawing.Image
using lecteur as new io.filestream("temp.bmp", IO.FileMode.Open)
img = image.fromstream(lecteur)
end using
img.Save("temp.bmp", Imaging.ImageFormat.Bmp)