Как изменить размер SVG (с помощью батика) и отобразить его? - PullRequest
4 голосов
/ 27 апреля 2010

У меня есть SVG-файл размером 100x100 пикселей (например). Я использую батик.

Если я сделаю:

JSVGCanvas svg = new JSVGCanvas();
[...]
svg.setSize(10,10);

Показывает только эту часть изображения, а не измененное изображение.

Знаете ли вы, как я могу отобразить изображение SVG с измененным размером?

Спасибо;)

Ответы [ 2 ]

6 голосов
/ 22 июня 2010

Необходимо убедиться, что отображаемый документ имеет атрибут viewBox="", установленный в его корневом элементе <svg>. Например, указание viewBox="100 100 300 200" указывает, что область (100,100) → (400,300) будет масштабирована до размера JSVGCanvas. По умолчанию форматное соотношение этого региона будет сохранено при масштабировании, поэтому вы получите дополнительный отступ сверху или снизу, если он не соответствует форматному соотношению JSVGCanvas. Чтобы переопределить это поведение, используйте атрибут preserveAspectRatio="".

0 голосов
/ 06 апреля 2016

Параметр окна просмотра позволяет вам установить часть холста, которую вы хотите увидеть / отобразить. Если вы хотите «изменить» размер вашего svg (svg не имеет реального размера, потому что это векторное изображение), вы можете добавить / изменить параметры width и height , имеющиеся в <svg> заголовок, как это:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="text/ecmascript" zoomAndPan="magnify" width="1200" height="720" contentStyleType="tex ....</svg>

Если вы хотите изменить окно просмотра, вы можете добавить параметр

viewBox="0 0 1200.0 720.0" 

в заголовке <svg> (для HD-изображения 1200 на 720).

...