Hallo Liebe Community
Ich habe schon im Internet gesucht aber es hat noch nicht funktioniert.
Das Ziel wäre, ein jFreeChart Diagramm (line Diagramm xy) als ein Bild (.png Format) abzuspeichern.
Hier mein Programm ohne dem abspeichern:
hab mir gedacht, dass das speichern doch ganz einfach funktioniert ndem ich es einfach mit diesen Zeilen mache:
Doch dann zeigt er mir einen Fehler bei .saveChartAsPNG an, wo ich dann nicht zu einer richtigen Lösung komme. Die fehlermeldung empfiehlt mit es in writeChartAsPNG oder saveChartAsJPEG zu speichern. Doch trotz ändern funktioniert es nicht
Wäre echt dankbar wenn ihr mir, einen Java Neuling, dabei helft
Danke schon im Voraus
Ich habe schon im Internet gesucht aber es hat noch nicht funktioniert.
Das Ziel wäre, ein jFreeChart Diagramm (line Diagramm xy) als ein Bild (.png Format) abzuspeichern.
Hier mein Programm ohne dem abspeichern:
Java:
package at.htlklu.tremoranalyzer;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
import org.jfree.chart.*;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.entity.StandardEntityCollection;
import org.jfree.chart.plot.*;
import org.jfree.data.time.Day;
import org.jfree.data.time.RegularTimePeriod;
import org.jfree.data.time.Second;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.*;
import org.jfree.util.Log;
public class GraphPanel extends JPanel {
private long startTime = 0;
/**
*
*/
//domain = x
//range = y
private ChartPanel chart;
private XYSeries head = new XYSeries("head");
private XYDataset createDataset() {
TimeSeries series1 = new TimeSeries("Data");
Date date = new Date();
series1.add(new Day(date),46.6);
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(series1);
return dataset;
}
private XYSeriesCollection collection = new XYSeriesCollection();
public GraphPanel() {
this.collection.addSeries(head);
JFreeChart diagram = ChartFactory.createXYLineChart(
"Tremor Assesment", // chart title
"time", // x axis label
"tremor", // y axis label
collection, // data
PlotOrientation.VERTICAL,
true, // include legend
true, // tooltips
false // urls
);
chart = new ChartPanel(diagram);
chart.setPreferredSize(new java.awt.Dimension(800, 600));
this.add(chart);
this.setVisible(true);
XYPlot plot = diagram.getXYPlot();
NumberAxis TimeAxis = (NumberAxis) plot.getDomainAxis();
//TimeAxis.setRange(start, start+15000);
TimeAxis.setAutoRange(true);
NumberAxis TremorAxis = (NumberAxis) plot.getRangeAxis();
TremorAxis.setRange(500,1000);
BufferedImage objBufferedImage= (BufferedImage) chart.createImage(600,800);
ByteArrayOutputStream bas = new ByteArrayOutputStream();
try {
ImageIO.write(objBufferedImage, "png", bas);
} catch (IOException e) {
e.printStackTrace();
}
}
public void addHeadValue(double l, double value){
this.head.add(l, value);
}
}
hab mir gedacht, dass das speichern doch ganz einfach funktioniert ndem ich es einfach mit diesen Zeilen mache:
Java:
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
ChartUtilities.saveChartAsPNG("Chart.png", chart, 1000, 700, info);
Doch dann zeigt er mir einen Fehler bei .saveChartAsPNG an, wo ich dann nicht zu einer richtigen Lösung komme. Die fehlermeldung empfiehlt mit es in writeChartAsPNG oder saveChartAsJPEG zu speichern. Doch trotz ändern funktioniert es nicht
Wäre echt dankbar wenn ihr mir, einen Java Neuling, dabei helft
Danke schon im Voraus
Zuletzt bearbeitet: