我能夠使用以下行更改 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
提交
取消