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







Répondre avec citation






Pas de questions techniques par MP ! Le forum est là pour ça...
Partager