Можно ли изменить систему координат Raphael JS (или SVG)? - PullRequest
0 голосов
/ 14 ноября 2011

Я играю с библиотекой RaphaelJS и замечаю, что она очень ориентирована на пиксели.Я хотел бы нарисовать что-то, что масштабируется с окном просмотра.Можно ли переопределить систему координат холста, чтобы она работала от 0 до 1, поэтому если я нарисую круг с центром в [0,5, 0,5], он останется в середине своего контейнера, даже если размер контейнера изменится?* Это может быть больше вопросом SVG / VML, поскольку, даже если у Рафаэля нет никакого способа сделать это, я всегда могу получить доступ к базовому элементу svg напрямую.

1 Ответ

2 голосов
/ 14 ноября 2011

Я не знаю, является ли это лучшим ответом, но я нашел способ получить часть того, что искал.Если вы игнорируете параметры ширины / высоты или используете «100%», то команда setViewBox может использоваться для настройки вашей собственной системы координат.

var canvas = Raphael("container");
canvas.setViewBox(0, 0, 1, 1, true);

Проблема, конечно, в том, что это масштабирует все,включая обводки, фоны и т. д. Это затрудняет использование таких элементов, как ширина обводки, отличная от 1px.

...