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 :

[JFreeChart] Bug sur createBufferedImage (taille image = 0 octet)


Sujet :

2D Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [JFreeChart] Bug sur createBufferedImage (Pb avec linux)
    Bonjour tout le monde,
    J'ai un comportement étrange lors de l'appel de la methode createBufferedImage (class JFreeChart).
    Sur mon site web fait en java 5 + struts, avec WebLogic, j'ai une erreur pdt l'execution du createBufferedImage.
    Le hic, c'est que cette erreur n'apparait pas au debut. J'ai l'impression qu'elle arrive après un certain temps...
    Ce qui est etrange aussi, c'est que mon catch n'intercepte aucune exception.
    Simplement l'image généré fait 0 octet et est illisbile.

    Est-ce que qqn a une idée?
    Est-ce un pb de mémoire ? de cache ?

    Voici le code utilisé pour générer l'image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    // Creation d'un nouveau graph 
    CategoryPlot plot = new CategoryPlot();
     
    // Ajout du graph en forme d'histogramme 
    plot.setDataset(datasetTravail);
    plot.setRangeAxis(new NumberAxis("xxx"));
     
    // Apparence en degrade violet + valeur affiche au centre dans la barre  
    BarRenderer barrenderer = new BarRenderer();
    barrenderer.setSeriesPaint(0, new GradientPaint(0.0F, 0.0F, new Color(239, 239, 250), 0.0F, 0.0F, new Color(31, 31, 99)));
    barrenderer.setBaseItemLabelsVisible(true);
    barrenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    barrenderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER));
    plot.setRenderer(barrenderer);
     
    // Ajout du graph en forme de points pour les RA 
    plot.setRangeAxis(1, new NumberAxis("yyy"));
    plot.setDataset(1, datasetRA);
     
    // Pour le rendu des points, on veut afficher la valeur au dessus des points  
    LineAndShapeRenderer lineandshaperenderer = new LineAndShapeRenderer();
    lineandshaperenderer.setBaseItemLabelsVisible(true);
    lineandshaperenderer.setBaseItemLabelPaint(Color.red);
    lineandshaperenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    lineandshaperenderer.setSeriesPaint(0, Color.red);
    lineandshaperenderer.setLinesVisible(false);
    plot.setRenderer(1, lineandshaperenderer);
    plot.mapDatasetToRangeAxis(1, 1);
     
    // Titre des ordonnees 
    plot.setDomainAxis(new CategoryAxis("Titre"));
     
    // On definit que les points sont affiches sur l'histogramme (et pas derriere...) 
    plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
     
    // Affichage des points et des barres a la verticale 
    plot.setOrientation(PlotOrientation.VERTICAL);
     
    // Affichage de la grille verticale 
    plot.setRangeGridlinesVisible(false);
     
    // Affichage de la grille horizontale 
    plot.setDomainGridlinesVisible(false);
     
    // Creaion du graphique avec les points 
    JFreeChart chart = new JFreeChart(titreGraphique, JFreeChart.DEFAULT_TITLE_FONT, plot, false);
     
    // Fond de l'image => blanc 
    chart.setBackgroundPaint(Color.white);
     
    // Ajout de la legende 
    chart.addLegend(new LegendTitle(plot));
     
    // Enregistrer l'image 
    p_request.getSession().setAttribute(Constantes.IMG_HISTO,  chart.createBufferedImage(800, 400));

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Pb linux => dependance avec X11
    Bon a priori j'ai trouvé...

    L'api utilise par jFreeChart est dependante de X11.
    Donc Xserver n'est pas lancé il y a un bug lors de la génération des graphs...

    Ce que je ne comprends pas , c'est pourquoi je n'ai pas d'erreur dans mes logs ...

    Voici les liens qui m'ont aidé à trouver la solution :

    http://java.sun.com/products/java-me...ation_that_rea

    http://www.jfree.org/phpBB2/viewtopi...1d6eb398078cad

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [eZ Publish] Customiser taille image sur une classe ?
    Par le_chomeur dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 05/11/2009, 15h23
  2. test sur la taille d'une image
    Par helaaa dans le forum Images
    Réponses: 2
    Dernier message: 25/08/2009, 14h21
  3. controle sur la taille d'une image
    Par babafredo dans le forum ASP.NET
    Réponses: 11
    Dernier message: 04/07/2007, 22h54
  4. [Upload] bug sur upload multiple d'envoi d'images
    Par fabien14 dans le forum Langage
    Réponses: 3
    Dernier message: 13/08/2006, 12h05

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