2015-04-14 1 views
0

Je sais comment enregistrer une image dans le stockage isolé en utilisant les éléments suivants:WP8 C# // Enregistrer l'image du web, dans le stockage isolé

private void addButton_Click(object sender, RoutedEventArgs e) 
     { 
      MemoryStream stream = new MemoryStream(); 
      WriteableBitmap wb = new WriteableBitmap(myImage, null); 
      BitmapImage bi = new BitmapImage(); 

      wb.SaveJpeg(stream, wb.PixelWidth, wb.PixelHeight, 0, 100); 
      stream.Seek(0, SeekOrigin.Begin); 
      string data = Convert.ToBase64String(stream.GetBuffer()); 

      appSettings.Add("image", data); 
     } 

Je sais comment le charger en utilisant les éléments suivants:

private void loadImage_Click(object sender, RoutedEventArgs e) 
    { 
     byte[] imageBytes = Convert.FromBase64String(appSettings["image"].ToString()); 

     MemoryStream ms = new MemoryStream(imageBytes); 
     BitmapImage bitmapImage = new BitmapImage(); 
     bitmapImage.SetSource(ms); 
     myImage.Source = bitmapImage; 
    } 

Mais je ne sais pas comment charger et lire à partir d'une URL, comment cela peut-il être accompli?

Merci pour votre aide.

Répondre

1

De cette Image from URL to stream:

WebClient client = new WebClient(); 
client.OpenReadCompleted += (s, e) => 
    { 
     byte[] imageBytes = new byte[e.Result.Length]; 
     e.Result.Read(imageBytes, 0, imageBytes.Length); 

     // Now you can use the returned stream to set the image source too 
     var image = new BitmapImage(); 
     image.SetSource(e.Result); 
     NLBI.Thumbnail.Source = image; 
    }; 
client.OpenReadAsync(new Uri(article.ImageURL)); 

Edit: voici un peu plus d'informations sur OpenReadComplete (MSDN) et comment l'utiliser