Updated TileMatrix

This commit is contained in:
ClemensFischer 2025-12-05 08:10:14 +01:00
parent 0b96b51c1e
commit 264f751d4e
4 changed files with 9 additions and 5 deletions

View file

@ -10,6 +10,7 @@ namespace MapControl
} }
public ImageTileList(IEnumerable<ImageTile> source, TileMatrix tileMatrix, int columnCount) public ImageTileList(IEnumerable<ImageTile> source, TileMatrix tileMatrix, int columnCount)
: base(tileMatrix.Width * tileMatrix.Height)
{ {
FillMatrix(source, tileMatrix.ZoomLevel, tileMatrix.XMin, tileMatrix.YMin, tileMatrix.XMax, tileMatrix.YMax, columnCount); FillMatrix(source, tileMatrix.ZoomLevel, tileMatrix.XMin, tileMatrix.YMin, tileMatrix.XMax, tileMatrix.YMax, columnCount);
} }

View file

@ -7,5 +7,7 @@
public int YMin => yMin; public int YMin => yMin;
public int XMax => xMax; public int XMax => xMax;
public int YMax => yMax; public int YMax => yMax;
public int Width => xMax - xMin + 1;
public int Height => yMax - yMin + 1;
} }
} }

View file

@ -107,8 +107,8 @@ namespace MapControl
private void CreateBitmap() private void CreateBitmap()
{ {
var width = WmtsTileMatrix.TileWidth * (TileMatrix.XMax - TileMatrix.XMin + 1); var width = WmtsTileMatrix.TileWidth * TileMatrix.Width;
var height = WmtsTileMatrix.TileHeight * (TileMatrix.YMax - TileMatrix.YMin + 1); var height = WmtsTileMatrix.TileHeight * TileMatrix.Height;
imageBrush.ImageSource = new WriteableBitmap(width, height, 96, 96, PixelFormats.Pbgra32, null); imageBrush.ImageSource = new WriteableBitmap(width, height, 96, 96, PixelFormats.Pbgra32, null);
imageBrush.Viewport = new Rect(0, 0, width, height); imageBrush.Viewport = new Rect(0, 0, width, height);
@ -116,7 +116,7 @@ namespace MapControl
private void CreateTiles() private void CreateTiles()
{ {
var tiles = new List<BitmapTile>(); var tiles = new List<BitmapTile>(TileMatrix.Width * TileMatrix.Height);
for (var y = TileMatrix.YMin; y <= TileMatrix.YMax; y++) for (var y = TileMatrix.YMin; y <= TileMatrix.YMax; y++)
{ {

View file

@ -91,8 +91,9 @@ namespace MapControl
private void CreateTiles() private void CreateTiles()
{ {
var tiles = new List<ImageDrawingTile>(); var tileCount = TileMatrix.Width * TileMatrix.Height;
var drawings = new DrawingCollection(); var tiles = new List<ImageDrawingTile>(tileCount);
var drawings = new DrawingCollection(tileCount);
for (var y = TileMatrix.YMin; y <= TileMatrix.YMax; y++) for (var y = TileMatrix.YMin; y <= TileMatrix.YMax; y++)
{ {