Is it possible to cast an image/BufferedImage to JFreeChart?
6
votes
3 Answers
21
votes
Casting an image to JFree is not possbile. To create an image from JFreechart you can do the following:
BufferedImage objBufferedImage=objJFreechart.createBufferedImage(600,800);
ByteArrayOutputStream bas = new ByteArrayOutputStream();
try {
ImageIO.write(objBufferedImage, "png", bas);
} catch (IOException e) {
e.printStackTrace();
}
byte[] byteArray=bas.toByteArray();
This creates the byte[] .
Now you need to create the image from byte[]. The following does this.
InputStream in = new ByteArrayInputStream(obj);
BufferedImage image = ImageIO.read(in);
File outputfile = new File("image.png");
ImageIO.write(image, "png", outputfile);
The image gets created at the place where your project is created(local drive).
17
votes
JfreeChart takes data first and generate image using generic ChartUtilities class or any customized utility class.
ChartUtilities.writeChartAsPNG(outputstream,getDataset(), width,height);
Maybe this can help you:here
4
votes
The JFreeChart object is for making images, it does not consume them and images cannot be converted into a JFreeChart object.
See: http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/JFreeChart.html