我有一个程序,它以全屏独占模式在jframe中运行。我试图改变jframe的亮度。我想知道我将如何实现这一点。我认为有可能改变被绘制到jframe的图像的所有颜色并使它们更亮,但它仍然不会改变屏幕的实际亮度。程序通常如何实现这样的东西。
答案 0 :(得分:2)
在绘制循环结束时:
g.setColor(new Color(0, 0, 0, 0.5f)); // 50% darker (change to 0.25f for 25% darker)
g.fillRect(0, 0, width, height);
答案 1 :(得分:1)
我不确定这是不是最好的方法,但它确实有效。
覆盖JPanel的public void paint(Graphics g)
方法,然后首先调用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更改颜色以更改暗度。