如何设置所选BufferedImage的alpha值

时间:2018-09-07 00:26:34

标签: java

我能够用以下这一行更改BufferedImage的alpha值:

g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, rail0FlashList.get(fl)));

这里的问题是,此行之后出现的所有其他组件也都受到了影响。有没有办法更改单个选定的BufferedImage的alpha值?

1 个答案:

答案 0 :(得分:1)

我在这里有点猜测,但是...

Graphics2D ga = (Graphics2D)g2.create();
ga.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, rail0FlashList.get(fl)));
// Use ga to render what ever needs to be painted with the alpha composite
ga.dispose();

基本上,它创建Graphics状态的快照,允许您对其进行修改,而不会影响原始上下文的状态。在处理转换时也非常有用