03/12/2006

Batik 1.6

XAML chez Microsoft, Flex chez Macromedia... nos futures applications web et desktop seront vectorielles ou ne le seront pas. Le premier offre une solution ultra-propriétaire qui repose sur le framework .NET 3.0 et profite de la puissance des configurations musclées requises pour faire tourner Windows Vista. Le second se veut ouvert et repose sur la technologie Flash. Mais qu'en sera-t'il de nos applications Java?

En attendant Java 1.6, il est aujourd'hui tout à fait possible d'introduire des éléments et des animations vectorielles au format SVG dans nos applications Swing, grâce à la librairie Batik de la fondation Apache.

HighLevelArchitecture

 

Comme on peut le constater sur le diagramme ci-dessus, l'architecture de Batik comporte une couche applicative pour les utilisateurs finaux (incluant notament un browser SVG baptisé Squiggle) et une couche de composants pour les développeurs, le tout reposant sur une librairie de classes Java natives permettant le parsing et l'affichage du format SVG.

A titre d'exemple, j'ai réalisé un petit explorateur de fichiers utilisant des icônes en format SVG que l'utilisateur peut zoomer à souhait. J'ai commencé par utiliser le composant Swing JSVGCanvas pour afficher chacune des icônes, mais les performances se sont vite révélées désastreuses. Je suis donc parti sur une autre approche. Grâce à la classe Transcoder, j'ai choisi de convertir au vol mes fichiers SVG en instances de la classe ImageIcon, en spécifiant un facteur de zoom.

svgexplorer

http://xmlgraphics.apache.org/batik/

18:19 Écrit par Fabrice Kauffmann dans Logiciel Open Source | Lien permanent | Commentaires (0) | Tags : java |  Facebook |

Les commentaires sont fermés.