好了,我已经让我的游戏引擎运行得很流畅,而且在所有的机器上都能完美地运行!在我继续向引擎添加功能之前,我想增强引擎的图形功能。我关注的是淡入淡出和混合图像。我需要一些平滑的过渡,所以在不使用像OpenGL这样的第三方库的情况下,如何在绘制图形对象时将不透明度应用于图像?
感谢您的回复:D
发布于 2012-07-17 12:45:15
也许使用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来覆盖您的透明图像并看到它的背后,除非您想要其他东西(如果是这样的话,您可以很容易地在提供的第一个链接上看到所有可用的常量及其解释)。
https://stackoverflow.com/questions/11515761
复制相似问题