Ayant constaté depuis peu que les tracés générés en SVG (Scalable Vector Graphics) étaient anti-aliassés, j'ai eu l'idée de reprendre mon script d'adresse :
http://www.phpcs.com/codes/SMOOTH-3D-CAMEMBERT_39291.aspx
et de l'adapter à cette "nouvelle" technologie; ne pas avoir à se préoccuper de l'Anti-Aliasing, c'est en effet faire l'économie d'un nombre important de lignes de code et d'un temps non moins important passé à articuler tout çà; on peut dès lors se focaliser à 100% sur l'algorithme : que du bonheur, vous dis-je!
D'autre part, quand on sait que SVG est un standard W3C, qu'il s'écrit en XML, que son arbre s'insère tout naturellement dans celui du DOM, et qu'on peut le "mixer" sans difficulté majeure avec (X)HTML, JAVASCRIPT, XSLT et CSS (il a d'ailleurs été prévu pour çà!), on est en droit de se poser la question :
mais que demande le peuple?
J'ai commencé par faire une version PHP+Ajax de cette appli, proche en fait du script indiqué plus haut. Puis ayant remarqué les possibilités importantes d'interaction avec l'utilisateur, j'ai pensé qu'un code entièrement en JavaScript était la meilleure solution, avec éventuellement une partie en "Ajax" pour rapatrier des données depuis un serveur distant.
Ah, j'allais l'oublier : ce script ne tourne pas sous IE, c'est pourtant pas faute d'essayer, IE, via le plug-in Adobe SVG Viewer (ASV pour les intimes), ne semblant pas supporter le code SVG "inline" injecté directement dans une page xhtml.
Il est prévu que MicroSoft intègre SVG dans son prochain navigateur, aussi, en attendant ces jours meilleurs, je me suis contenté d'une démo pour vous présenter ma classe SVG3DCamembert et un aperçu des possibilités d'interaction offertes par SVG.
La démo en ligne (à tester donc avec FireFox) :
http://michel.vanthodiep.free.fr/svg3dcamembert/index.xhtml
Un document utile à potasser :
http://www.yoyodesign.org/doc/w3c/w3c.html#svg1
Source / Exemple :
voir->zip
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.