WPF Libérer ressources Image
Bonjour,
Dans mon projet WPF j'ai une Image que je modifie via le code C# par ce code :
Code:
1 2
| ImgPoster.Source = new BitmapImage(new Uri(Path,
UriKind.Absolute)); |
Le "Path" n'est pas une Url mais un chemin tel que "C:\"
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é :
Code:
1 2 3 4 5
| Application.Current.Dispatcher.Invoke((Action)delegate
{
ImgPoster.Source = new BitmapImage(new Uri(Path,
UriKind.Absolute));
}); |
Mais toujours le même problème.
J'ai aussi essayé cela :
Code:
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; |
Pensant pouvoir supprimer le flux contenu lorsque je change d'image mais je n'y suis pas parvenu.
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