有没有办法在Java中设置Graphics或Graphics2D对象的透明度而不是Color对象?
这就是我想要的东西:
graphics.setAlpha(0.5);
graphics.setColor(Color.BLACK);
graphics.fillRect(0, 0, 100, 100);
graphics.setAlpha(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);