我能够使用以下行更改 BufferedImage 的 alpha 值:g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, rail0FlashList.get(fl)));这里的问题是此行之后的所有其他组件也受到影响。有没有办法更改单个选定的 BufferedImage 的 alpha 值?
1 回答
慕森卡
TA贡献1806条经验 获得超8个赞
我在这里有点猜测,但是......
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状态的快照,允许您修改它,而不会影响原始上下文的状态。它在处理转换时也非常有用
添加回答
举报
0/150
提交
取消