diff --git a/MapControl/Avalonia/ImageLoader.Avalonia.cs b/MapControl/Avalonia/ImageLoader.Avalonia.cs index 27e71872..d50dca81 100644 --- a/MapControl/Avalonia/ImageLoader.Avalonia.cs +++ b/MapControl/Avalonia/ImageLoader.Avalonia.cs @@ -12,7 +12,7 @@ namespace MapControl { public static IImage LoadImage(Uri uri) { - return null; + throw new NotSupportedException(); } public static IImage LoadImage(Stream stream) @@ -25,17 +25,19 @@ namespace MapControl return Task.FromResult(LoadImage(stream)); } - public static Task LoadImageAsync(string path) + public static async Task LoadImageAsync(string path) { - if (!File.Exists(path)) + IImage image = null; + + if (File.Exists(path)) { - return Task.FromResult(null); + using (var stream = File.OpenRead(path)) + { + image = await LoadImageAsync(stream); + } } - using (var stream = File.OpenRead(path)) - { - return LoadImageAsync(stream); - } + return image; } internal static async Task LoadMergedImageAsync(Uri uri1, Uri uri2, IProgress progress) diff --git a/MapControl/Shared/ImageLoader.cs b/MapControl/Shared/ImageLoader.cs index 3d3a3ba8..868ca7d7 100644 --- a/MapControl/Shared/ImageLoader.cs +++ b/MapControl/Shared/ImageLoader.cs @@ -31,6 +31,14 @@ namespace MapControl HttpClient.DefaultRequestHeaders.Add("User-Agent", $"XAML-Map-Control/{typeof(ImageLoader).Assembly.GetName().Version}"); } + public static async Task LoadImageAsync(byte[] buffer) + { + using (var stream = new MemoryStream(buffer)) + { + return await LoadImageAsync(stream); + } + } + public static async Task LoadImageAsync(Uri uri, IProgress progress = null) { ImageSource image = null; @@ -67,14 +75,6 @@ namespace MapControl return image; } - public static async Task LoadImageAsync(byte[] buffer) - { - using (var stream = new MemoryStream(buffer)) - { - return await LoadImageAsync(stream); - } - } - internal class HttpResponse { public byte[] Buffer { get; } diff --git a/MapControl/WPF/ImageLoader.WPF.cs b/MapControl/WPF/ImageLoader.WPF.cs index 3b56b766..e2224502 100644 --- a/MapControl/WPF/ImageLoader.WPF.cs +++ b/MapControl/WPF/ImageLoader.WPF.cs @@ -32,17 +32,19 @@ namespace MapControl return Task.FromResult(LoadImage(stream)); } - public static Task LoadImageAsync(string path) + public static async Task LoadImageAsync(string path) { - if (!File.Exists(path)) + ImageSource image = null; + + if (File.Exists(path)) { - return Task.FromResult(null); + using (var stream = File.OpenRead(path)) + { + image = await LoadImageAsync(stream); + } } - using (var stream = File.OpenRead(path)) - { - return LoadImageAsync(stream); - } + return image; } internal static async Task LoadMergedImageAsync(Uri uri1, Uri uri2, IProgress progress)