我尝试创建GRAL图并将其导出为JPG。
不确定原因,但是' Inset'的颜色。区域(边界外)似乎默认为黑色。这尤其令人困惑,因为文档似乎表明插图默认为白色。
如何更改Inset的颜色?
以下是我导出jpg的方式
if (this.state.visible) {
return (
<SearchBar />
)
} else {
return (
<Title />
)
}
这是我目前的结果(现在使用黑色bg上的白色文字,但想要白色bg上的黑色文字)。 current output
答案 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);
}
}