Информация об изменениях

Сообщение Re: как позиционировать Geomerty внутри GeometryGroup от 29.05.2019 11:08

Изменено 29.05.2019 11:10 anatolym

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>


Думаю так, но не проверял. Если не заработает, то могу исправить на рабочую версию
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>


Думаю так, но не проверял. Если не заработает, то могу исправить на рабочую версию

Ибо в закомментированном фрагменте просто выполняется преобразование входных координат. Сама трансформация не меняется.