Как изменить размер svg (с помощью батика) и отобразить его?



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



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



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


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



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



Спасибо ;)

736   2  

2 ответов:

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

Параметр view box позволяет задать часть холста, которую вы хотите видеть/отображать. Если вы хотите "изменить размер" вашего 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).

Comments

    Ничего не найдено.