JFreeChart & Image - PullRequest
       6

JFreeChart & Image

4 голосов
/ 11 марта 2011

Можно ли привести изображение / BufferedImage к JFreeChart?

Ответы [ 3 ]

15 голосов
/ 10 августа 2011

Передача изображения в JFree невозможна. Для создания изображения из JFreechart вы можете сделать следующее:

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();

Это создает байт [].

Теперь вам нужно создать изображение из байта []. Это делает следующее.

InputStream in = new ByteArrayInputStream(obj);
BufferedImage image = ImageIO.read(in);
File outputfile = new File("image.png");
ImageIO.write(image, "png", outputfile);

Образ создается в том месте, где создается ваш проект (локальный диск).

15 голосов
/ 07 декабря 2012

JfreeChart сначала берет данные и генерирует изображение с использованием универсального класса ChartUtilities или любого настраиваемого класса утилит.

ChartUtilities.writeChartAsPNG(outputstream,getDataset(), width,height);

Может быть, это может вам помочь: здесь

3 голосов
/ 11 марта 2011

Объект JFreeChart предназначен для создания изображений, он не использует их, и изображения не могут быть преобразованы в объект JFreeChart.Смотри: http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/JFreeChart.html

...