Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get Random Color [duplicate]

Do you know any method to generate a random Color (not a random Color Name!)?

I've already got one, but this one is'nt doing it correctly:

This only returns Green:

Random r = new Random();
BackColor = Color.FromArgb(r.Next(0, 256), r.Next(0, 256), 0);

This only returns Red:

Random r = new Random();
BackColor = Color.FromArgb(r.Next(0, 256), 0, 0);

This only returns Blue:

Random r = new Random();
BackColor = Color.FromArgb(0, 0, r.Next(0, 256));

I want my Code to return one, random Color, not only green/red/blue every time, as the above ones do.

How to solve this?

Any suggestion will be approved with joy!

like image 475
cramopy Avatar asked Mar 22 '15 18:03

cramopy


2 Answers

Here's the answer I started posting before you deleted and then un-deleted your question:

public partial class Form1 : Form {     private Random rnd = new Random();      public Form1()     {         InitializeComponent();     }      private void button1_Click(object sender, EventArgs e)     {           Color randomColor = Color.FromArgb(rnd.Next(256), rnd.Next(256), rnd.Next(256));          BackColor = randomColor;     } } 
like image 179
Rufus L Avatar answered Sep 27 '22 21:09

Rufus L


The original version of your last method (pre-Edit) will return all different sorts of colors. I would be sure to use a single Random object rather than create a new one each time:

Random r = new Random();
private void button6_Click(object sender, EventArgs e)
{
    pictureBox1.BackColor = Color.FromArgb(r.Next(0, 256), 
         r.Next(0, 256), r.Next(0, 256));

    Console.WriteLine(pictureBox1.BackColor.ToString());
}

It produces all sorts of different colors:

Color [A=255, R=241, G=10, B=200]
Color [A=255, R=41, G=125, B=132]
Color [A=255, R=221, G=169, B=109]
Color [A=255, R=228, G=152, B=197]
Color [A=255, R=50, G=153, B=103]
Color [A=255, R=92, G=236, B=162]
Color [A=255, R=52, G=103, B=204]
Color [A=255, R=197, G=126, B=133]

like image 26
Ňɏssa Pøngjǣrdenlarp Avatar answered Sep 27 '22 20:09

Ňɏssa Pøngjǣrdenlarp