Feedback

Windows Store App: Bild herunter laden

Sprache: C#

Dieses Snippet demonstriert den Download eines Bildes von einer Webresource. Der Code ist als selbstständige Methode verpackt um den Download mehrerer Bilder zu vereinfachen. [b]Benötigte Namespaces[/b] System System.Threading.Tasks Windows.Storage.Streams Windows.UI.Xaml Windows.UI.Xaml.Media.Imaging
/// <summary>
/// Lädt ein Bild asynchron von dem Pfad mit dem angegebenen URI herunter.
/// </summary>
/// <param name="uri">Der Downloadpfad des Bildes.</param>
/// <param name="imageOpened">Ein Eventhandler, welcher aufgerufen wird, wenn das Bild fertig herunter geladen wurde. Dieser Parameter darf <c>null</c> sein.</param>
/// <returns>Eine Aufgabe die das herunter geladene Bild zurück gibt.</returns>
static async Task<BitmapImage> DownloadImageAsync(Uri uri, RoutedEventHandler imageOpened)
{
    RandomAccessStreamReference stream = RandomAccessStreamReference.CreateFromUri(uri);

    using (IRandomAccessStream randomStream = await stream.OpenReadAsync())
    {
        BitmapImage bmp = new BitmapImage();
        bmp.ImageOpened += imageOpened;
        await bmp.SetSourceAsync(randomStream);
        return bmp;
    }
}
/// <summary>
/// Lädt ein Bild asynchron von dem Pfad mit dem angegebenen URI herunter.
/// </summary>
/// <param name="uri">Der Downloadpfad des Bildes.</param>
/// <param name="imageOpened">Ein Eventhandler, welcher aufgerufen wird, wenn das Bild fertig herunter geladen wurde. Dieser Parameter darf <c>null</c> sein.</param>
/// <returns>Eine Aufgabe die das herunter geladene Bild zurück gibt.</returns>
static async Task<BitmapImage> DownloadImageAsync(Uri uri, RoutedEventHandler imageOpened)
{
    RandomAccessStreamReference stream = RandomAccessStreamReference.CreateFromUri(uri);

    using (IRandomAccessStream randomStream = await stream.OpenReadAsync())
    {
        BitmapImage bmp = new BitmapImage();
        bmp.ImageOpened += imageOpened;
        await bmp.SetSourceAsync(randomStream);
        return bmp;
    }
}