【问题标题】:How to make the Vaadin chart background transparent when converting to a PNG?转换为 PNG 时如何使 Vaadin 图表背景透明?
【发布时间】:2017-11-20 12:09:01
【问题描述】:

我正在使用Batik conversion code as Vaadin suggests,但是我需要使 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);

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

【问题讨论】:

  • 您尝试了吗new SolidColor(255, 255, 255, 0.0) - 最后一个是 Alpha 值,即不透明度,其中 1.0 表示完全不透明,0.0 表示完全透明。或new Color(0x00FFFFFF, true)
  • 我显然在处理两个问题。是的,这确实成功了。同样重要的是要声明应该删除 pngTranscoder 代码。如果你想回答这个问题,我会接受你的作为答案

标签: java vaadin batik vaadin8 vaadin-charts


【解决方案1】:

有两种颜色设置:

new SolidColor(255, 255, 255, 0.0)

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

以及实际颜色:

new Color(0x00FFFFFF, true)

使用 RGBA 的构造函数。

【讨论】:

  • 吹毛求疵:所以它是 ARGB?
  • @cfrick :) java API和javadoc也不是很一致;在Color 中提到来自rgba。在 little endian 中,它将是 bgra。
猜你喜欢
  • 1970-01-01
  • 2019-03-19
  • 2010-12-14
  • 2011-04-23
  • 1970-01-01
  • 2012-06-26
  • 1970-01-01
  • 1970-01-01
  • 2013-12-10
相关资源
最近更新 更多