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] générer png transparent et sans bordure


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 90
    Par défaut [JFreeChart] générer png transparent et sans bordure
    Bonjour

    Alors voilà je désire exporter mon camembert en png (gif serait encore mieux).
    Pour le moment j'ai 2 problèmes :
    1 ) mon Chart a toujours un affreux contour gris, que je n'arrive pas à enlever.

    je désire juste avoir mon camembert, et pas qu'il soit inclus dans une pseudo-fenêtre grise.

    2) mon second problème est que le fond de l'image n'est pas transparent. et je voudrais qu'il le soit
    j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    JFreeChart demo = createChart(createDataset());
    ChartUtilities.saveChartAsPNG(new File("D:/[..]/exemple4.png"), demo, 400,
                        250);
    puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	JFreeChart demo = createChart(createDataset());
    		BufferedImage bi = demo.createBufferedImage(300, 200);
            	PngEncoder pe = new PngEncoder(PngEncoder.COLOR_INDEXED_ALPHA);
    		File f = new File("D:/[...]/exemple1.png");
    		pe.encode(bi, new FileOutputStream(f));
    Je suis pour le moment bloqué en java1.3 c'est pour ça que pas de ImageIo

    Voilà alors si vous avez des réponses, des pistes tout ça merci

    Si en plus vous avez du code qui m'exporte le tout en gif transparent là ça serait le top du top

    merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 90
    Par défaut
    j'ai trouvé ca :
    http://cephas.net/blog/2006/06/09/tr...th-jfreechart/

    ce qui m'a fait ajouter à mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    chart.setBackgroundPaint(new Color(255,255,255,0));
    		KeypointPNGEncoderAdapter encoder = new KeypointPNGEncoderAdapter();
    		encoder.setEncodingAlpha(true);
    		encoder.encode(chart.createBufferedImage(300, 300, BufferedImage.TYPE_INT_ARGB, null));
    ensuite je n'ai pas changer la génération de mon png

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ChartUtilities.saveChartAsPNG(new File("D:/[...]/exemple4.png"), demo, 300,
                        300);
    Avec cela le contour est plus gris mais noir... par contre l'image n'est toujours pas transparente :s


    par contre en utilisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    BufferedImage bi = demo.createBufferedImage(300, 200);
    		PngEncoder pe = new PngEncoder(PngEncoder.COLOR_INDEXED_ALPHA);
    		File f = new File("D:/mdp/municipal/jFreeChart/exemple1.png");
    		pe.encode(bi, new FileOutputStream(f));
    là le cadre gris disparait
    mais par contre j'ai toujours un fond plan pas du tout transparent

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 90
    Par défaut
    Voilà un truc qui marche

    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
    private static JFreeChart createChart(PieDataset dataset) throws IOException {
     
    		JFreeChart chart = ChartFactory.createPieChart(null, // chart
    				// title
    				dataset, // data
    				false, // include legend
    				false, true);
     
     
    		PiePlot plot = (PiePlot) chart.getPlot();
    		plot.setBackgroundAlpha(0);
    		plot.setOutlineVisible(false);
    		Color[] colors = { Color.black, Color.yellow, Color.green };
    		PieRenderer renderer = new PieRenderer(colors);
    		renderer.setColor(plot, (DefaultPieDataset) dataset);
     
    		//plot.setNoDataMessage("No data available");
    		plot.setCircular(true);
    		//plot.setLabelGap(0.02);
    		chart.setAntiAlias(true);
    		chart.setTextAntiAlias(true);
    		chart.setBorderVisible(false);
     
     
    		chart.setBackgroundPaint(new Color(255,255,255,0));
    		KeypointPNGEncoderAdapter encoder = new KeypointPNGEncoderAdapter();
    		encoder.setEncodingAlpha(true);
    		encoder.encode(chart.createBufferedImage(300, 300,BufferedImage.BITMASK , null));
     
    		return chart;
     
    	}

    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
    public static void main(String[] args) throws IOException {
     
    		JFreeChart demo = createChart(createDataset());
    		BufferedImage bi = demo.createBufferedImage(300, 300,BufferedImage.BITMASK, null );
     
    		try
            {
                // This will create a PNG image
                ChartUtilities.saveChartAsPNG(new File("D:/[..]/pie1.png"), demo, 300,
                        300);
            }
            catch (Exception e)
            {
                System.out.println("Exception while creating the chart");
            }

    le problème c'est le
    qui est du jdk1.5

Discussions similaires

  1. Image d'ouverture sans bordure et transparance
    Par Orelien24 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/04/2011, 19h55
  2. [support de navigateur] IE + PNG + Transparence = :S
    Par PoZZyX dans le forum Webdesign & Ergonomie
    Réponses: 3
    Dernier message: 23/11/2005, 17h24
  3. [FPDF] Cellule sans bordure en haut et en bas
    Par nebule dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 16/12/2004, 16h07
  4. [débutant]fenetre sans bordure
    Par crazypiou dans le forum DirectX
    Réponses: 2
    Dernier message: 01/05/2004, 18h43
  5. [Kylix] Fiches sans bordure
    Par alex dans le forum EDI
    Réponses: 4
    Dernier message: 28/04/2002, 21h19

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