[SVG] probleme dessin d'images SVG avec Batik

Marddagg Messages postés 2 Date d'inscription mercredi 10 mai 2006 Statut Membre Dernière intervention 10 mai 2006 - 10 mai 2006 à 10:01
Marddagg Messages postés 2 Date d'inscription mercredi 10 mai 2006 Statut Membre Dernière intervention 10 mai 2006 - 10 mai 2006 à 10:03
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 :
<!-- BEGIN TEMPLATE: bbcode_code -->



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);
}
}

<!-- END TEMPLATE: bbcode_code -->
J'ai vu qu'il existait l'interface UpdateManagerListener dans la bibliotheque Batik mais je n'ai pas tres bien compris comment ca marchait ...
<!-- / message -->

1 réponse

Marddagg Messages postés 2 Date d'inscription mercredi 10 mai 2006 Statut Membre Dernière intervention 10 mai 2006
10 mai 2006 à 10:03
oups le message est mal passé :

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 :
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 ...
0
Rejoignez-nous