次のコードは非常に簡単です。ランダムに選択されたピクセルでデザイン サーフェスを塗りつぶします。特別なことは何もありません (2 番目のメソッドの XXXXXXX は今のところ無視してください)。
private void PaintBackground()
{
Random rnd = new Random();
Bitmap b = new Bitmap(this.Width, this.Height);
for (int vertical = 0; vertical < this.Height; vertical++)
{
for (int horizontal = 0; horizontal < this.Width; horizontal++)
{
Color randomColour = GetRandomColor(rnd);
b.SetPixel(horizontal, vertical, randomColour);
}
}
Graphics g = this.CreateGraphics();
g.DrawImage(b, new Point(0, 0));
}
public Color GetRandomColor(Random rnd)
{
XXXXXXXXXXXXXXXX
byte r = Convert.ToByte(rnd.Next(0, 255));
byte g = Convert.ToByte(rnd.Next(0, 255));
byte b = Convert.ToByte(rnd.Next(0, 255));
return Color.FromArgb(255, r, g, b);
}
私が持っている質問はこれです...
XXXXXXXXX を「Random rnd = new Random();」に置き換えた場合 テスト パターンは完全に同じ色の水平バーに変化するため、ランダムではありません。
誰か私にこれがなぜなのか説明してくれませんか?
2 回目の試行での唯一の違いは、GetRandomColour メソッドが Random クラスの新しいインスタンスを作成して使用することですが、水平バーがどのように作成されるかわかりません。