5 votes

Obtenir la boîte de délimitation d'un élément SVG sélectionné

Je veux lire :

  • width , height , x , y mesures

pour un élément SVG particulier.


Je suppose que la façon la plus simple de procéder est de récupérer le fichier boîte de délimitation minimale et lisez ses propriétés.

Comment puis-je y accéder ?

8voto

pawel Points 7016

Si vous avez une référence au nœud du DOM, utilisez

svgNode.getBoundingClientRect()

https://developer.mozilla.org/en-US/docs/DOM/element.getBoundingClientRect

Edition : SVG Edit a une méthode pour renvoyer les éléments actuellement sélectionnés :

svgCanvas.getSelectedElems()

donc dans l'exemple ci-dessus :

svgNode = svgCanvas.getSelectedElems()[0];
svgNode.getBoundingClientRect();

4voto

MSC Points 62

Voir http://granite.sru.edu/~ddailey/svg/BBox0M.svg pour l'exemple et la réponse.

En bref, ce code fonctionne pour moi dans Chrome :

<script>
function foo(evt)
{
    console.log(evt.target.getBBox());      
}
</script>

<svg>
    <circle onclick="foo(evt)" r="20%" cx="50%" cy="50%"/>
</svg>

2voto

Bellave Jayaram Points 346

En supposant que vous ayez un accès à l'élément, je pense que cela fonctionnera, non ?

box = svgedit.utilities.getBBox(selected);

0voto

turiyag Points 1319

Je ne suis pas sûr de bien comprendre, mais si vous souhaitez obtenir la hauteur ou la largeur d'un élément jQuery, utilisez width() et height() :

log("The svg is " + $("img").width() + "px wide.");
log("The svg is " + $("img").height() + "px tall.");

Exemple de JSFiddle : http://jsfiddle.net/gGWU4/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X