JFrame的亮度变化(Change brightness of jframe)

2019-10-18 02:16发布

我有一个程序,它在全屏独占模式的JFrame运行。 我试图改变JFrame的亮度。 我想知道我怎么会实现这一点。 我想这可能是可以改变图像的所有颜色越来越绘制到JFrame,使他们更亮,但它仍然没有改变屏幕实际上有多亮。 如何计划正常实施这样的事情。

Answer 1:

在您的平局循环的结尾:

g.setColor(new Color(0, 0, 0, 0.5f)); // 50% darker (change to 0.25f for 25% darker)
g.fillRect(0, 0, width, height);


Answer 2:

我不知道这是否是最好的方式,但它的工作原理。 覆盖public void paint(Graphics g)的JPanel的方法,那么首先调用super.paint(g); 和油漆它上面的透明的黑色矩形。

事情是这样的:

private static Color BG = new Color(0, 0, 0, 100);

@Override
public void paint(Graphics g) {
    super.paint(g);
    g2.setColor(BG);
    g.fillRect(0, 0, getWidth(), getHeight());
    g.dispose();
}

更改颜色以新的价值,而不是100来改变黑暗。



文章来源: Change brightness of jframe