Mardagg | Bonjour a tous, j'ai un probleme avec la bibliotheque Batik pour manipuler des images SVG (images vectorielles). J'ai un panel qui dessine des éléments. Chaque élément contient une image SVG (JSVGCanvas). J'ai ajouté des methodes pour pouvoir redimensionner l'image avec la souris mais malheureusement le JSVGCanvas ne se met pas tout le temps a jour (parfois il n'y a qu'une partie de l'image qui se dessine par exemple). Je voulais savoir si quelqu'un a deja été confronté à se genre de problème et si oui comment faire ^^ Voici des extraits de mon code au besoin :
Code :
- public class Materiel{
- protected JSVGCanvas svgCanvas;
- // ...
- public Materiel(String nom, int x, int y, int l, int h) {
- // ...
- // initialisation de l'image SVG
- svgCanvas = new JSVGCanvas();
- File f = new File("aiv/images/pc_g.svg" );
- try {
- svgCanvas.setURI(f.toURL().toString());
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- svgCanvas.setBounds(getX(), getY(), getWidth(), getHeight());
- }
- public void dessiner(Graphics g){
- // ...
- int w = (int)(getWidth()*Donnees.zoom); // la variable Donnees.zoom est un indice representant un zoom sur l'objet
- int h = (int)(getHeight()*Donnees.zoom);
- // ...
- svgCanvas.setSize(w, h);
- svgCanvas.setBackground(new Color(0, 0, 0, 0)); // definit le fond transparent
- svgCanvas.paintComponent(g);
- }
- }
|
J'ai vu qu'il existait l'interface UpdateManagerListener dans la bibliotheque Batik mais je n'ai pas tres bien compris comment ca marchait ...
|