嗯,我的遊戲引擎運行平穩,並且完美地運行在所有機器上!在我繼續爲引擎添加功能之前,我想增強引擎的圖形功能。我所關注的是淡化和混合圖像。我將需要一些平滑過渡,所以如果不使用任何第三方庫(如OpenGL),在繪製圖形對象時如何將不透明度應用於圖像?在java中混合圖像
感謝任何答覆:d
嗯,我的遊戲引擎運行平穩,並且完美地運行在所有機器上!在我繼續爲引擎添加功能之前,我想增強引擎的圖形功能。我所關注的是淡化和混合圖像。我將需要一些平滑過渡,所以如果不使用任何第三方庫(如OpenGL),在繪製圖形對象時如何將不透明度應用於圖像?在java中混合圖像
感謝任何答覆:d
也許使用AlphaComposite可能是你在找什麼?
Image image = new Image(...);
float alpha = 0.5;
@Override
public void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D)g;
AlphaComposite composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha);
g2d.setComposite(composite);
g2d.drawImage(image, 0, 0, null);
}
你會設置你的alpha到你想要的任何透明度水平(在0.0和1.0之間)。在這種情況下,您可能希望使用AlphaComposite.SRC_OVER以覆蓋透明圖像並查看其背後的內容,除非您需要其他內容(如果是這樣,您可以輕鬆查看所有可用的常量及其在提供的第一個鏈接上的解釋)。
您可能會發現[如何淡出一個圖像並淡入另一個(Java)?](http://stackoverflow.com/a/8594835/1048330)有用。 – tenorsax 2012-07-17 06:10:41