C# Image.FromStream, attendre fin de lecture

Fermé
ElementW Messages postés 4764 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 12 juin 2011 à 14:53
Bonjour/bonsoir,
je suis bloqué depuis un certain temps devant un petit gros problème en C#:
dans mon logiciel (qui est censé convertir des images dans tel ou tel format), j'utilise des FileStream pour gérer les flux de données des fichiers d'image.
J'arrive bien à les utiliser, mais visiblement ils n'ont pas l'air de bien s'entendre avec les fonctions Image.FromStream et Image.Save, sachant que j'essaie de les fermer dès que l'image est lue/écrite.
Selon les messages d'erreur, j'ai compris que le FileStream se ferme trop vite, donc les fonctions Image.FromStream et Image.Save renvoient une erreur InternalException.
Voici mon code:
FileStream readStream = new FileStream(SrcFile, FileMode.Open, FileAccess.Read);
Image img = Image.FromStream(readStream);
readStream.Close();
FileStream writeStream = new FileStream(DstFile, FileMode.Create, FileAccess.Write);
img.Save(writeStream, _SelectedImageFormat);
writeStream.Close();

Sachant que:
* SrcFile est le fichier d'image source
* DstFile le fichier de destination
* _SelectedImageFormat est le format d'image (System.Drawing.Imaging.ImageFormat)

Donc la question finale est:
Auriez-vous un moyen d'attendre la fin de la lecture/écriture du FileStream?
(ne vous inquiétez pas pour le "bloquage" éventuel de l'interface, j'ai tout géré grâce a des Threads)

Merci d'avance pour vos réponses!