|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 26 ![]() |
Bonjour,
Je développe un programme qui permet de générer un graphique à l'écran et de l'exporter au format SVG. Pour cela, j'utilise pyCairo. Je souhaiterais utiliser ce code SVG dans un site web (je l'intègre dans du code HTML5 - jusque là tout va bien), mais pour plus de convivialité, j'aimerai enrichir ce SVG avec des popups qui apparaitraient au passage de la souris. Pour cela, j'ai besoin d'accéder aux différents <path> du SVG (pour rajouter des "onmouseover" par exemple). Malheureusement, tels qu'il est exporté par pyCairo, le SVG a des <path> sans "id". Impossible de les distinguer les un des autres ! S'il vous plait : dites moi qu'il y a une solution facile !! |
|
|
00
|
|
|
#3 | |
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 26 ![]() |
Citation:
Mais merci quand même pour la réponse. |
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() Inscription : octobre 2008 Messages : 973 ![]() |
Ce n'est pour autant pas impossible, dans le cas d'Inkscape justement.
On peut l'utiliser en ligne de commande et donc via subprocess(). Voir le man d'inkscape. |
|
|
00
|
|
|
#5 | ||
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 26 ![]() |
Il aura fallu du temps pour que ça murisse, mais je vais enfin pouvoir classer cette discussion dans la catégorie [résolu].
Voici comment j'ai procédé, ça peut paraitre tordu, mais ça fonctionne comme je le souhaitais. 1) Au moment de dessiner les objets à rendre "interactifs" (surbrillance, lien, popup), je relève un point caractéristique du rectangle qui constitue l'objet, ou bien je crée un rectangle "transparent". Les coordonnées de point caractéristique apparaissent "en clair" dans le fichier .svg. Il suffit alors : 2) de parser le document : Code :
4) et en manipulant ces éléments SVG on peut faire plein de choses : rajouter des filtres, des attributs du type "onmouseover", des liens hypertexte ....... 5) et bien sûr, il faut sauvegarder tout çà avec un petit Résultat : si on fait ça au moment de sauvegarder le fichier .svg, c'est complètement transparent pour l'utilisateur. Je pense que le "langage" SVG mériterait une rubrique à part entière chez Developpez.com. A la prochaine. |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com