Ожидалось что такой пример будет работать, но трансформация не применяется, все тайлы выводятся в одних координатах 0,0.
Как правильно в этом случае сделать трансформацию ?
GeometryGroup GetTiledGeometry(Geometry geometry, int tileX, int tileY, double sizeX, double sizeY)
{
var group = new GeometryGroup();
for(int x = 0; x < tileX; x++)
for(int y = 0; y < tileY; y++)
{
var geometryTile = geometry.Clone();
geometryTile.Transform.Transform(new Point(x * sizeX, y * sizeY ));
}
return group;
}
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re: как позиционировать Geomerty внутри GeometryGroup
GeometryGroup GetTiledGeometry(Geometry geometry, int tileX, int tileY, double sizeX, double sizeY)
{
var group = new GeometryGroup();
/* Вроде так ничего не изменится ;)
for(int x = 0; x < tileX; x++)
for(int y = 0; y < tileY; y++)
{
var geometryTile = geometry.Clone();
geometryTile.Transform.Transform(new Point(x * sizeX, y * sizeY ));
}
*/return group;
}
Re: как позиционировать Geomerty внутри GeometryGroup
Здравствуйте, okon, Вы писали:
O>Ожидалось что такой пример будет работать, но трансформация не применяется, все тайлы выводятся в одних координатах 0,0. O>Как правильно в этом случае сделать трансформацию ?
O>
O>GeometryGroup GetTiledGeometry(Geometry geometry, int tileX, int tileY, double sizeX, double sizeY)
O>{
O> var group = new GeometryGroup();
O> for(int x = 0; x < tileX; x++)
O> for(int y = 0; y < tileY; y++)
O> {
O> var geometryTile = geometry.Clone();
O> //geometryTile.Transform.Transform(new Point(x * sizeX, y * sizeY )); geometryTile.Transform = new TranslateTransform(x * sizeX, y * sizeY);
O> }
O> return group;
O>}
O>
Думаю так, но не проверял. Если не заработает, то могу исправить на рабочую версию
Ибо в закомментированном фрагменте просто выполняется преобразование входных координат. Сама трансформация не меняется.
A>Думаю так, но не проверял. Если не заработает, то могу исправить на рабочую версию A>Ибо в закомментированном фрагменте просто выполняется преобразование входных координат. Сама трансформация не меняется.
Да, похоже на то, пока это сделал по другому через трансформацию в OnRender( . )
Единственное что пока смущает — в профайлере больше всего времени занимает Layout в несколько раз больше чем Render, и растет от количества тайлов по X,Y.
Хотя у данного элемента по тому же профайлеру нет дерева как логического так и визуального.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов