如何更改GRAL中的插图颜色?

时间:2016-11-28 19:53:34

标签: java graph charts

我尝试创建GRAL图并将其导出为JPG。

不确定原因,但是' Inset'的颜色。区域(边界外)似乎默认为黑色。这尤其令人困惑,因为文档似乎表明插图默认为白色。

如何更改Inset的颜色?

以下是我导出jpg的方式

if (this.state.visible) {
  return (
    <SearchBar />
  )
} else {
  return (
    <Title />
  )
}

这是我目前的结果(现在使用黑色bg上的白色文字,但想要白色bg上的黑色文字)。 current output

1 个答案:

答案 0 :(得分:0)

我明白了! (在同事的帮助下)

“插入”区域默认为透明黑色(RGBA(0,0,0,0))。因此,当图形导出为JPEG(不支持透明度)时,它会删除alpha值并将其全部呈现为黑色。通过导出为png,我能够保持透明度,并且当嵌入到具有白色背景的文档中时,图形现在看起来很好。

private static void getPng(XYPlot plot, String fileName) {
    BufferedImage bImage = new BufferedImage(800, 600, BufferedImage.TYPE_INT_RGB);
    Graphics2D g2d = (Graphics2D) bImage.getGraphics();
    DrawingContext context = new DrawingContext(g2d);
    plot.draw(context);
    DrawableWriter wr = DrawableWriterFactory.getInstance().get("image/png");
    try {
        wr.write(plot, new FileOutputStream(fileName + ".png"), 800, 600);
    } catch (IOException err) {
        System.out.println(err);
    }
}