From 5282046c31cccfe877052d1ce367b7fd40607f7a Mon Sep 17 00:00:00 2001 From: ClemensFischer Date: Thu, 2 Jan 2025 10:48:51 +0100 Subject: [PATCH] ImageLoader --- MapControl/Avalonia/ImageLoader.Avalonia.cs | 6 +++++- MapControl/Shared/ImageLoader.cs | 16 ---------------- MapControl/WPF/ImageLoader.WPF.cs | 7 ++++++- 3 files changed, 11 insertions(+), 18 deletions(-) diff --git a/MapControl/Avalonia/ImageLoader.Avalonia.cs b/MapControl/Avalonia/ImageLoader.Avalonia.cs index c8c2d57e..42b7e35f 100644 --- a/MapControl/Avalonia/ImageLoader.Avalonia.cs +++ b/MapControl/Avalonia/ImageLoader.Avalonia.cs @@ -43,8 +43,12 @@ namespace MapControl internal static async Task LoadMergedImageAsync(Uri uri1, Uri uri2, IProgress progress) { WriteableBitmap mergedBitmap = null; + var p1 = 0d; + var p2 = 0d; - var images = await LoadImagesAsync(uri1, uri2, progress); + var images = await Task.WhenAll( + LoadImageAsync(uri1, new Progress(p => { p1 = p; progress.Report((p1 + p2) / 2d); })), + LoadImageAsync(uri2, new Progress(p => { p2 = p; progress.Report((p1 + p2) / 2d); }))); if (images.Length == 2 && images[0] is Bitmap bitmap1 && diff --git a/MapControl/Shared/ImageLoader.cs b/MapControl/Shared/ImageLoader.cs index 22b84918..f5cf5f5e 100644 --- a/MapControl/Shared/ImageLoader.cs +++ b/MapControl/Shared/ImageLoader.cs @@ -157,21 +157,5 @@ namespace MapControl return buffer; } - - private static Task LoadImagesAsync(Uri uri1, Uri uri2, IProgress progress) - { - IProgress progress1 = null; - IProgress progress2 = null; - - if (progress != null) - { - var p1 = 0d; - var p2 = 0d; - progress1 = new Progress(p => { p1 = p; progress.Report((p1 + p2) / 2d); }); - progress2 = new Progress(p => { p2 = p; progress.Report((p1 + p2) / 2d); }); - } - - return Task.WhenAll(LoadImageAsync(uri1, progress1), LoadImageAsync(uri2, progress2)); - } } } \ No newline at end of file diff --git a/MapControl/WPF/ImageLoader.WPF.cs b/MapControl/WPF/ImageLoader.WPF.cs index 8d1139c9..21044b8d 100644 --- a/MapControl/WPF/ImageLoader.WPF.cs +++ b/MapControl/WPF/ImageLoader.WPF.cs @@ -3,6 +3,7 @@ // Licensed under the Microsoft Public License (Ms-PL) using System; +using System.Diagnostics; using System.IO; using System.Threading.Tasks; using System.Windows; @@ -55,8 +56,12 @@ namespace MapControl internal static async Task LoadMergedImageAsync(Uri uri1, Uri uri2, IProgress progress) { WriteableBitmap mergedBitmap = null; + var p1 = 0d; + var p2 = 0d; - var images = await LoadImagesAsync(uri1, uri2, progress); + var images = await Task.WhenAll( + LoadImageAsync(uri1, new Progress(p => { p1 = p; progress.Report((p1 + p2) / 2d); })), + LoadImageAsync(uri2, new Progress(p => { p2 = p; progress.Report((p1 + p2) / 2d); }))); if (images.Length == 2 && images[0] is BitmapSource bitmap1 &&