1

我正在使用Vaadin 建议的 Batik 转换代码,但是我需要使 PNG 图像的背景透明,因为它可以显示在不同颜色的容器中,并且我不希望显示白色边框。我已经尝试了所有我能想到的方法,但我似乎无法找到一种方法来使 PNG 的背景透明。我什至试图强制背景颜色来帮助蜡染,但它不起作用:

chart.getConfiguration().getChart().setBackgroundColor(new SolidColor("#FFFFFF"));

然后我尝试了以下组合(或两者之一):

pngTranscoder.addTranscodingHint(PNGTranscoder.KEY_FORCE_TRANSPARENT_WHITE, Boolean.TRUE);
pngTranscoder.addTranscodingHint(PNGTranscoder.KEY_BACKGROUND_COLOR, java.awt.Color.WHITE);

似乎没有任何效果。任何有关如何执行此操作的建议将不胜感激。

4

1 回答 1

1

有两种颜色设置:

new SolidColor(255, 255, 255, 0.0)

最后一个是 Alpha 值,即不透明度,其中 1.0 表示完全不透明,0.0 表示完全透明。

和实际颜色:

new Color(0x00FFFFFF, true)

使用 RGBA 的构造函数。

于 2017-11-20T13:46:13.317 回答