我想制作一个看起来像static on a old tv
的效果我想要它,所以它正在移动,我宁愿不使用多个预制图像来实现效果。如何使用持续约3-5秒的单色(黑色和白色)来获得这种效果?
答案 0 :(得分:0)
尝试使用java.awt.Canvas
类。
覆盖canvas类中的paint方法,然后使用此代码生成static:
@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
for(int x = 0; x < getWidth(); x++){
for(int y = 0; y < getHeight(); y++){
int col = (int)(Math.round(Math.random()*100)%50);
if(Math.random() > 0.5){
col = 255 - col;
}
g.setColor(new Color(col, col, col);
g.fillRect(x, y, 1, 1);
}
}
}
这实际上做的是渲染w * h网格是像素,每个像素对于r,g和b颜色值的值最大为50。这将产生颗粒状的黑灰色纹理,并且可以适应其他网格基质。
编辑:
使用Canvas
方法从JPanel
更改为paintComponent
。
根据随机机会使阴影更亮或更亮。