Írjunk programot, amely színkeverést végez az R G B 0-255 közötti beállításával, és véletlenszám generátor használatával is, lehetőség legyen az inverz szín megjelenítésére.
A feladat megoldása
Random m;
public Form1()
{
InitializeComponent();
// meglévő eseménykezelő hozzáadása
RGorgeto.ValueChanged += this.button1_Click;
GGorgeto.ValueChanged += this.button1_Click;
BGorgeto.ValueChanged += this.button1_Click;
m = new Random();
RGorgeto.Maximum = 255;
GGorgeto.Maximum = 255;
BGorgeto.Maximum = 255;
}
private void Veletlenszam_Click(object sender, EventArgs e)
{
RGorgeto.Value = m.Next(256);
GGorgeto.Value = m.Next(256);
BGorgeto.Value = m.Next(256);
textBox1.Text = RGorgeto.Value.ToString();
textBox2.Text = GGorgeto.Value.ToString();
textBox3.Text = BGorgeto.Value.ToString();
}
private void RGorgeto_Scroll(object sender,
ScrollEventArgs e)
{
textBox1.Text = RGorgeto.Value.ToString();
}
private void GGorgeto_Scroll(object sender,
ScrollEventArgs e)
{
textBox2.Text = GGorgeto.Value.ToString();
}
private void BGorgeto_Scroll(object sender,
ScrollEventArgs e)
{
textBox3.Text = BGorgeto.Value.ToString();
}
private void Inverzszin_Click(object sender, EventArgs e)
{
RGorgeto.Value = 255 - RGorgeto.Value;
GGorgeto.Value = 255 - GGorgeto.Value;
BGorgeto.Value = 255 - BGorgeto.Value;
textBox1.Text = RGorgeto.Value.ToString();
textBox2.Text = GGorgeto.Value.ToString();
textBox3.Text = BGorgeto.Value.ToString();
}
private void Kilepes_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void button1_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Rectangle t = new Rectangle(new Point (396,70),
new Size(80,80));
SolidBrush b = new SolidBrush(Color.FromArgb(RGorgeto.Value,
GGorgeto.Value,BGorgeto.Value));
g.FillRectangle(b, t);
}
A program futási eredményei:
Előző szín inverz színe