IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

[batik-JFreeChart]Affichage de la SVG générée J2EE


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2009
    Messages : 23
    Par défaut [batik-JFreeChart]Affichage de la SVG générée J2EE
    Bonjour,

    J'utilise Batik pour générer une image SVG représentant un chart JfreeChart. Mais autant dans une application Java, cela ne pose pas de problème pour afficher le chart en SVG (via l'utilisation du JSVGCanvas de batik) autant pour une application Web, je pêche un peu sur la solution à adopter sachant que je ne veux pas d'applet.

    J'utilisai précédemment la servlet displayChart de JFreeChart pour afficher le chart en PNG ou JPEG.

    Si il manque des informations pour comprendre mon problème, n'hésitez pas !

    Mafious

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Bah tu peux oublier, IE ne supporte pas le SVG.

    Ou alors il faut que tu fasse installer à chaque utilisateur d'IE un plugin spécifique genre Adobe SVG Viewer. http://www.adobe.com/svg/viewer/install/mainframed.html

  3. #3
    Membre averti
    Inscrit en
    Février 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2009
    Messages : 23
    Par défaut
    En fait pour le web, j'ai avancé en utilisant l'outil SVGWeb de google (qui fait même le rendu en flash pour les navigateurs ne gérant par le natif SVG ===> IE)

    Je met donc le code généré par Batik directement entre des balises script type="image/svg+xml"

    Cependant, j'obtiens des problème de rendu. Autant avec un JSVGCanvas ça s'affiche bien autant désormais mon chart ne s'affiche pas entièrement. Si vous avez une idée sur quelle côté je dois travailler (batik generator ? jfreeChart ?) pour avoir une mise en page identique à ce que me sortait la servlet DisplayChart quand j'affichai en PNG.
    public static String transformChartSVG(JFreeChart chart) throws IOException
    {
    // Create an SVG document.
    DOMImplementation impl = SVGDOMImplementation.getDOMImplementation();
    String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
    SVGDocument doc = (SVGDocument) impl.createDocument(svgNS, "svg", null);

    // Create a converter for this document.
    SVGGraphics2D g = new SVGGraphics2D(doc);

    //draw the chart
    Rectangle2D area = new Rectangle2D.Double(0, 0, 300, 200); //+ j'aggrandi plus j'etend le dessin mais pas la zone StandardEntityCollection());
    chart.draw(g, area) ;

    //put the stream in a string
    StringWriter out = new StringWriter();
    g.stream(out, true);
    return out.toString();
    }

Discussions similaires

  1. [JFreeChart] Affichage infobulle dans courbe.
    Par logica dans le forum 2D
    Réponses: 8
    Dernier message: 26/07/2010, 18h56
  2. [ImageMagick] Affichage d'une image générée
    Par iamyog dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 23/08/2007, 12h35
  3. Réponses: 3
    Dernier message: 04/05/2007, 15h49
  4. [JFreeChart] Affichage numéro de semaine
    Par Julio_del_pueblo dans le forum 2D
    Réponses: 1
    Dernier message: 22/08/2006, 09h52
  5. Réponses: 3
    Dernier message: 05/05/2006, 18h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo