ImageFileCache FileShare

This commit is contained in:
ClemensFischer 2025-11-18 22:23:38 +01:00
parent 16d477a31d
commit e0eb50b7da
4 changed files with 8 additions and 7 deletions

View file

@ -326,7 +326,7 @@ namespace MapControl.Caching
private static byte[] ReadAllBytes(FileInfo file) private static byte[] ReadAllBytes(FileInfo file)
{ {
using var stream = file.OpenRead(); using var stream = file.Open(FileMode.Open, FileAccess.Read, FileShare.Read);
var buffer = new byte[stream.Length]; var buffer = new byte[stream.Length];
var offset = 0; var offset = 0;
@ -340,7 +340,7 @@ namespace MapControl.Caching
private static async Task<byte[]> ReadAllBytes(FileInfo file, CancellationToken token) private static async Task<byte[]> ReadAllBytes(FileInfo file, CancellationToken token)
{ {
using var stream = file.OpenRead(); using var stream = file.Open(FileMode.Open, FileAccess.Read, FileShare.Read);
var buffer = new byte[stream.Length]; var buffer = new byte[stream.Length];
var offset = 0; var offset = 0;

View file

@ -1,4 +1,5 @@
#if WPF using System.Linq;
#if WPF
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Media; using System.Windows.Media;
@ -176,7 +177,7 @@ namespace MapControl
{ {
availableSize = new Size(double.PositiveInfinity, double.PositiveInfinity); availableSize = new Size(double.PositiveInfinity, double.PositiveInfinity);
foreach (FrameworkElement element in Children) foreach (var element in Children.OfType<FrameworkElement>())
{ {
element.Measure(availableSize); element.Measure(availableSize);
} }
@ -188,7 +189,7 @@ namespace MapControl
{ {
if (parentMap != null) if (parentMap != null)
{ {
foreach (FrameworkElement element in Children) foreach (var element in Children.OfType<FrameworkElement>())
{ {
ArrangeChildElement(element, finalSize); ArrangeChildElement(element, finalSize);
} }

View file

@ -103,7 +103,7 @@ namespace MapControl
{ {
foreach (var tile in Tiles) foreach (var tile in Tiles)
{ {
// Arrange tiles relative to XMin/YMin. // Arrange tiles relative to TileMatrix.XMin/YMin.
// //
var tileSize = TileSize << (TileMatrix.ZoomLevel - tile.ZoomLevel); var tileSize = TileSize << (TileMatrix.ZoomLevel - tile.ZoomLevel);
var x = tileSize * tile.X - TileSize * TileMatrix.XMin; var x = tileSize * tile.X - TileSize * TileMatrix.XMin;

View file

@ -113,7 +113,7 @@ namespace MapControl
{ {
foreach (var tile in Tiles) foreach (var tile in Tiles)
{ {
// Arrange tiles relative to XMin/YMin. // Arrange tiles relative to TileMatrix.XMin/YMin.
// //
var tileWidth = WmtsTileMatrix.TileWidth; var tileWidth = WmtsTileMatrix.TileWidth;
var tileHeight = WmtsTileMatrix.TileHeight; var tileHeight = WmtsTileMatrix.TileHeight;