J'utilise la bibliothèque svg.js pour charger un fichier svg, ajouter ses points (images) et animer les points. Je charge le fichier svg en PHP et génère le code pour l'intégrer dans le HTML.Charger et transformer et incorporer un fichier SVG avec svg.js
Voici comment mon code html ressemble:
<div class="svg-element">
<svg id="svgId" ...>
<!-- SVG code -->
</svg>
</div>
Ce à quoi ressemble mon code javascript:
var svg = SVG.get('svgId');
svg.size('100%', '100%');
var point = svg.image(point_url);
point.attr('id', 'pointId');
point.move(100, 100);
Ce code fonctionne parfaitement, mais le problème vient quand j'utiliser la fonction scale()
pour faire un effet de zoom avec les points.
point.scale(0.5);
ou la fonction transform
:
point.transform({scaleX : '0.5', scaleY : '0.5'});
Une erreur TypeError: SVG.parser is undefined
est représenté sur la console javascript.
Comment puis-je éviter ce problème et utiliser la méthode de transformation avec les images? Le problème peut-être que j'utilise la fonction .get()
, comment je peux créer l'objet SVG
avec le fichier svg?
La réponse liée dit aussi: "méthode * après * importation de svg brut:". La méthode get est pour les éléments dans le svg doc pas pour le document lui-même – Fuzzyma