【问题标题】:Blending images in java在java中混合图像
【发布时间】:2012-07-15 23:26:29
【问题描述】:

嗯,我的游戏引擎运行流畅,在所有机器上都完美无缺!在继续向引擎添加功能之前,我想增强引擎的图形功能。我关注的是褪色和混合图像。我需要一些平滑的过渡,所以在不使用任何 3rd 方库(如 OpenGL)的情况下,如何在绘制图形对象时对图像应用不透明度?

感谢任何回复:D

【问题讨论】:

标签: java graphics opacity transition fading


【解决方案1】:

也许使用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 能够覆盖透明图像并查看其背后,除非您要进行其他操作(如果是这样,您可以轻松地在第一个上看到所有可用的常量及其解释提供链接)。

【讨论】:

  • :D thx 我可能需要一些时间来学习这个。这肯定会帮助我。我假设 setComposite 只是 Graphics2D?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-24
相关资源
最近更新 更多