private static async Task <BandIcon> LoadIcon(string uri) { StorageFile imageFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri(uri)); using (IRandomAccessStream fileStream = await imageFile.OpenAsync(FileAccessMode.Read)) { Windows.UI.Xaml.Media.Imaging.WriteableBitmap bitmap = new Windows.UI.Xaml.Media.Imaging.WriteableBitmap(1, 1); await bitmap.SetSourceAsync(fileStream); return(bitmap.ToBandIcon()); } }
/// <summary> /// Load up an icon (png) file and convert it to an actual BandIcon object to be used with creating a new tile. /// </summary> /// <param name="url"> Url to the icon</param> /// <returns></returns> private async Task <BandIcon> LoadIcon(string url) { //Get the Image file from disk. Windows.Storage.StorageFile iconFile = await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(new Uri(url)); //Open up the file for random access (but stay with read>) using (Windows.Storage.Streams.IRandomAccessStream fileStream = await iconFile.OpenAsync(Windows.Storage.FileAccessMode.Read)) { //Create a new bitmap Windows.UI.Xaml.Media.Imaging.WriteableBitmap iconWriteableBitmap = new Windows.UI.Xaml.Media.Imaging.WriteableBitmap(1, 1); //Process the picture to useable bitmap. await iconWriteableBitmap.SetSourceAsync(fileStream); //Extension method is written to convert a bitmap to an BandIcon that we can use with the Band return(iconWriteableBitmap.ToBandIcon()); } }