Extrait de coordonnées x,y de l'arbitraire SVG chemin avec javascript
Je veux remplacer les coordonnées à l'intérieur d'un SVG chemin avec des variables. (avec javascript). Tout en svg chemin peut être de plusieurs types, il serait d'une grande aide pour obtenir appuyer sur un exemple concret:
d = "M27,0C27,21,4,34,-13,23C22,18,-27,9,-27,0";
Je veux que ce SVG chemin pour être transformé en
var x = [];
var x[0] = 27; x[1] = ...
d = "M + x[0] + "," + y[0]
+ "C"
+ x[0] + "," + y[0] + ","
+ x[1] + "," + y[1] + ","
+ x[2] + "," + y[2] + ","
+ "C"
+ x[3] + "," + y[3] + ","
+ x[4] + "," + y[4] + ","
+ x[5] + "," + y[5];
Donc mon problème est de trouver le bon javascript RegExp pour extraire toutes les variables et par l'utilisation de générer du SVG chemin.
Ce que j'ai réellement faire est de créer un objet Javascript représentant un svg et je veux en mesure de définir les coordonnées individuellement.
Toute aide très appréciée
thx, martin
Mise à JOUR:
à côté de la accepté de répondre il y a également une méthode pratique dans le merveilleux raphael.js bibliothèque pour analyser un SVG chemin
http://raphaeljs.com/reference.html#Raphael.parsePathString
Merci, le problème est 23C22 avec le type qui commence les choses se salir. (et bien sûr ici, je n'ai qu'un simple svg exemple de trajet)
double possible de Script <path> les données dans le format SVG (la lecture et la modification)
Merci Robert, le lien pour sûr, comprend ce que je cherchais. Pouvez-vous s'il vous plaît poster une réponse afin que je puisse l'approuver. Qui rend plus probable que les gens qui trébuchent sur cette question trouver le lien. Grâce agai
raphaeljs lien est rompu.
OriginalL'auteur dorjeduck | 2013-11-07
Vous devez vous connecter pour publier un commentaire.
Suffit d'utiliser le SVG DOM analyser il y a plus de détails dans cette question/réponse mais, fondamentalement, vous ne
et qui vous donne un tableau des segments et des valeurs vous pouvez lire ou écrire par exemple
OriginalL'auteur Robert Longson
Ce pourrait être votre regex:
Quelles variables voulez-vous créer à partir de "23C22",. f.e.
23 y[2] variable dans l'exemple ci-dessus, C signifie que c'est un 22 sera le x[3] variable
Réponse de mise à jour. Essayez-le maintenant.
thx a lot Robert Longson gentiment donné une réponse plus complète que j'ai accepté sa réponse - merci encore
OriginalL'auteur Manolo
Je suis en train d'apprendre le JavaScript, donc je suis incapable d'aider à la transformation de chose, mais cette expression doit permettre:
Il capture toutes les coordonnées de la chaîne que vous avez fournies, tout en évitant les caractères
[a-zA-Z]
.Mais je peux vous donner des plus ou moins code dans Java qui devrait faire le travail.
sûr pas de problème ; )
C'était une réponse à votre problème, mais ce n'est pas exactement la question que vous avez demandé. Ces tentatives pour répondre à votre question initiale , quand vous pensiez que vous auriez à analyser la chaîne, sont toujours digne de confiance. Ils pourraient être utiles à d'autres personnes qui vivaient ici. Votre solution préférée est obsolète et ne fonctionne plus, par la manière.
OriginalL'auteur Tafari