diff --git a/MapControl/Avalonia/ImageLoader.Avalonia.cs b/MapControl/Avalonia/ImageLoader.Avalonia.cs index 42b7e35f..61370192 100644 --- a/MapControl/Avalonia/ImageLoader.Avalonia.cs +++ b/MapControl/Avalonia/ImageLoader.Avalonia.cs @@ -32,12 +32,10 @@ namespace MapControl return Task.FromResult(null); } - return Task.Run(() => + using (var stream = File.OpenRead(path)) { - using var stream = File.OpenRead(path); - - return LoadImage(stream); - }); + return LoadImageAsync(stream); + } } internal static async Task LoadMergedImageAsync(Uri uri1, Uri uri2, IProgress progress) diff --git a/MapControl/Shared/GeoImage.cs b/MapControl/Shared/GeoImage.cs index 36123450..e1390237 100644 --- a/MapControl/Shared/GeoImage.cs +++ b/MapControl/Shared/GeoImage.cs @@ -132,12 +132,11 @@ namespace MapControl var file = Path.GetFileNameWithoutExtension(sourcePath); var worldFilePath = Path.Combine(dir, file + ext.Remove(2, 1) + "w"); - if (File.Exists(worldFilePath)) + if (await ImageLoader.LoadImageAsync(sourcePath) is BitmapSource bitmap) { - return new GeoBitmap( - (BitmapSource)await ImageLoader.LoadImageAsync(sourcePath), - await ReadWorldFileMatrix(worldFilePath), - null); + var transform = await ReadWorldFileMatrix(worldFilePath); + + return new GeoBitmap(bitmap, transform, null); } } diff --git a/MapControl/WPF/ImageLoader.WPF.cs b/MapControl/WPF/ImageLoader.WPF.cs index 351697fa..af1e767a 100644 --- a/MapControl/WPF/ImageLoader.WPF.cs +++ b/MapControl/WPF/ImageLoader.WPF.cs @@ -43,13 +43,10 @@ namespace MapControl return Task.FromResult(null); } - return Task.Run(() => + using (var stream = File.OpenRead(path)) { - using (var stream = File.OpenRead(path)) - { - return LoadImage(stream); - } - }); + return LoadImageAsync(stream); + } } internal static async Task LoadMergedImageAsync(Uri uri1, Uri uri2, IProgress progress)