嗯,我的游戏引擎运行平稳,并且完美地运行在所有机器上!在我继续为引擎添加功能之前,我想增强引擎的图形功能。我所关注的是淡化和混合图像。我将需要一些平滑过渡,所以如果不使用任何第三方库(如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