SVG viewBox, изменяющий координаты Y - PullRequest
4 голосов
/ 22 июня 2011

Я использую SVG для рисования на HTML-странице различных фигур. Эти различные формы извлекаются из геометрических объектов пространственной базы данных в Microsoft Sql Server. Проблема, с которой я сталкиваюсь, заключается в том, что система координат (Svg и Microsoft Sql Server) отличается. 0,0 начинается с Svg в верхнем левом углу, а в Microsoft Sql Server - с нижнего левого угла. Мне нужно изменить только координаты Y. Я также использую viewBox для правильного отображения данных (для разных преобразований). Есть ли способ решить мою проблему, не касаясь координат объекта и не работая только с атрибутами моего окна просмотра? Я создаю объекты динамически и предпочитаю решение "viewBox".

Заранее спасибо!

1 Ответ

4 голосов
/ 22 июня 2011

Я не думаю, что вы можете использовать viewBox.Спецификации SVG говорят, что если вы хотите определить новую систему координат, вы должны использовать преобразование.То, что вы хотите, это отразить все о горизонтальной линии, проходящей через центр изображения.Для этого оберните все ваши элементы в группу следующим образом:

<svg>
  <g transform="matrix(1 0 0 -1 0 height)">
    all the other elements...
  </g>
</svg>

Где height - высота вашего SVG.Одна потенциальная проблема заключается в том, что текст будет отображаться вверх ногами.

...