Is it possible to cast an image/BufferedImage to JFreeChart?
JFreeChart & Image
Asked Answered
You want to cast/convert an image to a chart? I don't understand how that might work –
Destrier
Do you want to make images/BufferedImages with Jfreechart? –
Clobber
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).
Another way to create image from JFreeChart is by using
ChartUtilities.writeChartAsPNG(ouputstream,jfreechart,x,y)
function. –
Verdi yannis hristofakis: that way, you don't have access to the BufferedImage. I needed this because the chart adds some padding which I couldn't get rid of by configuring the chart, so I had to crop the image - BufferedImage.getSubImage(...) –
Ashmead
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
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
© 2022 - 2024 — McMap. All rights reserved.