我的游戏引擎运行得很顺利,在所有机器上都很完美!在继续向引擎添加功能之前,我想增强引擎的图形功能。我关注的是渐变和混合图像。我需要一些平滑的过渡,所以在不使用任何第三方库(如OpenGL)的情况下,如何在绘制图形对象时将不透明度应用于图像?
感谢您的回复: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来覆盖透明图像并查看其背后,除非您想要其他东西(如果是这样,您可以在提供的第一个链接上轻松查看所有可用的常量及其解释)。