2009-07-08 6 views
3

Y a-t-il un moyen de découper un fichier SVG? Je veux dire toute bibliothèque déjà disponible. J'ai besoin d'implémenter ce composant de découpage en Java. Je veux dire, j'ai un seul fichier SVG et basé sur les règles/échelles que je choisis graphiquement, je veux découper le SVG unique en différents fichiers SVG.Comment afficher une sous-section ou une "tranche" d'un graphique SVG?

Espoir Je suis clair

+0

Définir "découper" voulez-vous produire des pièces séparées graphiquement ou stocker des fichiers logiquement séparés? Ou ...? –

Répondre

0

Si vous travaillez avec SVG en Java, le Batik SVG Toolkit fournira beaucoup de fonctionnalités (je l'avoue, je ne sais pas ce que vous entendez par tranchage, cependant)

+0

J'ai essayé Batik, mais il supporte l'opération de découpage SVG. – Jijoy

0

Tout ce que vous avez à faire est d'éditer le tag <svg>. Editez width et height, réglez l'attribut viewBox sur l'élément svg principal au rectangle que vous voulez, rendez, répétez.

Chaque svg contiendra toutes les données de l'original mais affichera seulement la partie du dessin à l'intérieur du viewBox. Voir http://dingoskidneys.com/~dholth/svg/

viewbox = "x y width height" 
+0

Je dois, découper un plus grand SVG et les tourner SVG mulitple. par exemple: J'ai une grande image, et je divde tout le rectangle en 9 rectangles basés sur ma sélection et la sortie devrait être ces nouveaux 9 fichiers SVG, faits de contenu à l'intérieur de ces rectangles. J'espère que je suis clair? – Jijoy

+1

Cela a du sens. Tant que cela ne vous dérange pas que les tranches aient la même taille sur le disque, viewBox est tout ce dont vous avez besoin. – joeforker

+1

ce n'est pas une tranche si vous devez manger toute la pizza 8 fois. –

5

Oui, bien, vous penseriez que cette information était classifiée - ou tout simplement impossible - basé sur la façon dont il est difficile de trouver ce fait de base ....

Apparemment, all you need to do is reference the viewBox from a URI "fragment".. J'ai confirmé, ça fonctionne vraiment. Prenons l'exemple suivant ... La leçon de l'histoire, dans le cas où vous le manquez, est ... image.svg # svgView (viewBox (100.100.100.100))

image.svg est défini comme <svg .... viewBox="0,0,400,400" width="400" height="400">

http://example.com/image.svg

svg linked with no viewBox attribute

http://example.com/image.svg#svgView(viewBox(100,100,100,100))

enter image description here

+1

C'est incroyable. Cela signifie essentiellement que nous pouvons nous un seul fichier SVG en tant que sprite. Je suis curieux au sujet du support de navigateur pour ceci. – Emil

Questions connexes