Bonjour,
Dans mon projet WPF j'ai une Image que je modifie via le code C# par ce code :
Le "Path" n'est pas une Url mais un chemin tel que "C:\"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ImgPoster.Source = new BitmapImage(new Uri(Path, UriKind.Absolute));
Seulement même quand j'ai modifié l'image, la précédente n'est pas libérée.
Après pas mal de recherches j'ai essayé :
Mais toujours le même problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Application.Current.Dispatcher.Invoke((Action)delegate { ImgPoster.Source = new BitmapImage(new Uri(Path, UriKind.Absolute)); });
J'ai aussi essayé cela :
Pensant pouvoir supprimer le flux contenu lorsque je change d'image mais je n'y suis pas parvenu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Stream ImgStream = new FileStream(Path, FileMode.Open, FileAccess.Read, FileShare.Read); JpegBitmapDecoder decoder = new JpegBitmapDecoder(ImgStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default); BitmapSource ImgSource = decoder.Frames[0]; ImgPoster.Source = ImgSource;
Malheureusement il ne semble pas exister une fonctionne telle que "ImgPoster.Dispose()"...
J'espère que vous serez plus inspiré que moi sur ce coup là..
Merci
Partager