Java在图形对象上设置透明度而不是Color对象

时间:2015-06-26 20:11:42

标签: java graphics transparency alpha

有没有办法在Java中设置Graphics或Graphics2D对象的透明度而不是Color对象?

这就是我想要的东西:

graphics.setAlpha(0.5);
graphics.setColor(Color.BLACK);
graphics.fillRect(0, 0, 100, 100);
graphics.setAlpha(1);

有什么见解?这是我正在做的简化版本,请不要回复处理方法,我只想知道这是否可行。

1 个答案:

答案 0 :(得分:2)

因此,经过一些不相关的答案和更多的挖掘后,我找到了解决方案。 AlphaComposite类。

像这样使用:

Composite originalComposite = graphics.getComposite();
AlphaComposite alphaComposite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f);
graphics.setComposite(alphaComposite);
graphics.setColor(Color.BLACK);
graphics.fillRect(0, 0, 100, 100);
graphics.setComposite(originalComposite);