From c503dc2a8b2431b8f8b2b6cc2bcf0e9b8076510c Mon Sep 17 00:00:00 2001 From: ClemensFischer Date: Wed, 3 Sep 2025 22:31:16 +0200 Subject: [PATCH] Update GroundOverlay.cs --- MapControl/Shared/GroundOverlay.cs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/MapControl/Shared/GroundOverlay.cs b/MapControl/Shared/GroundOverlay.cs index 29b6ac85..619d21ed 100644 --- a/MapControl/Shared/GroundOverlay.cs +++ b/MapControl/Shared/GroundOverlay.cs @@ -131,7 +131,7 @@ namespace MapControl if (imageEntry != null) { using (var zipStream = imageEntry.Open()) - using (var memoryStream = new MemoryStream()) + using (var memoryStream = new MemoryStream((int)zipStream.Length)) { await zipStream.CopyToAsync(memoryStream); memoryStream.Seek(0, SeekOrigin.Begin); @@ -158,11 +158,20 @@ namespace MapControl var docUri = new Uri(docFilePath); - foreach (var imageOverlay in imageOverlays) +#if NETFRAMEWORK + Parallel.ForEach(imageOverlays, async imageOverlay => { imageOverlay.ImageSource = await ImageLoader.LoadImageAsync(new Uri(docUri, imageOverlay.ImagePath)); - } - + }); +#else + await Parallel.ForEachAsync(imageOverlays, async (imageOverlay, cancellationToken) => + { + if (!cancellationToken.IsCancellationRequested) + { + imageOverlay.ImageSource = await ImageLoader.LoadImageAsync(new Uri(docUri, imageOverlay.ImagePath)); + } + }); +#endif return imageOverlays; }