Problème d'affichage d'image

Problème d'affichage d'image - C#/.NET managed - Programmation

Marsh Posté le 09-02-2018 à 23:04:23    

Bonjour à tous,
J'ai un petit soucis avec un truc basique et ça m'énerve !!!!
J'espère que vous pourrez m'aider. Je fais une petite application UWP et sur une page j'ai une image. Je voudrais en cliquant sur un bouton changer l'image.
Voici mon code :

Code :
  1. private async void btn_ChangImg_Click(object sender, RoutedEventArgs e)
  2.         {
  3.             var coverPicker = new FileOpenPicker();
  4.             coverPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
  5.             coverPicker.ViewMode = PickerViewMode.Thumbnail;
  6.             coverPicker.FileTypeFilter.Add(".png" );
  7.             coverPicker.FileTypeFilter.Add(".jpg" );
  8.             coverPicker.FileTypeFilter.Add(".jpeg" );
  9.             StorageFile file = await coverPicker.PickSingleFileAsync();
  10.             img_Cover.Source = new BitmapImage(new Uri(file.Path, UriKind.Absolute));
  11.         }


Quand je clique, l'image de base disparait mais la nouvelle n'apparait pas et je galère la dessus (je me sens idiot a force !)
Si vous avez une idée je suis preneur.  
Merci d'avance

Reply

Marsh Posté le 09-02-2018 à 23:04:23   

Reply

Marsh Posté le 10-02-2018 à 09:21:16    

C'est quoi img_Cover ?
Rien qui aide là dedans : https://docs.microsoft.com/en-us/uw [...] rols.image ?


---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 10-02-2018 à 11:35:34    

C'est mon composant image dans ma page en XAML.
Je vais regarder le lien…
Merci

Reply

Marsh Posté le 10-02-2018 à 11:41:43    

C'est donc bien un bête Image.

 

Tu peux essayer de résoudre le souci progressivement : par exemple vire le côté asynchrone, passe directement un bitmap au lieu de passer par le contrôle FileOpen, vérifie que ton Bitmap est bien chargé et dispo, etc.


Message édité par TotalRecall le 10-02-2018 à 11:42:39

---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 10-02-2018 à 11:48:41    

Alors, je me sens un peu bête  :whistle:  
La solution était si simple à trouver ! Je devais pas être en forme hier soir !
J'ai trouver la solution sur la page que tu m'as conseillée et voici le code qui fonctionne :

Code :
  1. private async void btn_ChangImg_Click(object sender, RoutedEventArgs e)
  2.         {
  3.             FileOpenPicker coverPicker = new FileOpenPicker();
  4.             coverPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
  5.             coverPicker.ViewMode = PickerViewMode.Thumbnail;
  6.             coverPicker.FileTypeFilter.Add(".png" );
  7.             coverPicker.FileTypeFilter.Add(".jpg" );
  8.             coverPicker.FileTypeFilter.Add(".jpeg" );
  9.             StorageFile file = await coverPicker.PickSingleFileAsync();
  10.             if(file != null)
  11.             {
  12.                 using (IRandomAccessStream fileStream = await file.OpenAsync(FileAccessMode.Read))
  13.                 {
  14.                     BitmapImage bitmapImage = new BitmapImage();
  15.                     await bitmapImage.SetSourceAsync(fileStream);
  16.                     img_Cover.Source = bitmapImage;
  17.                 }
  18.             }
  19.         }


 
Encore merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed