@KolasAdsas

Как заполнить квадрат случайными цветами?

Как заполнить квадрат случайными цветами? Только что бы не весь квадрат был одного сплошного цвета, как получается при таком коде
Graphics gr; 
            gr = this.CreateGraphics();
            Random r = new Random();
            SolidBrush mySolidBrush = new SolidBrush(Color.FromArgb(r.Next(255),r.Next(255),r.Next(255),r.Next(255)));
            gr.FillRectangle(mySolidBrush, 50, 50, 450, 200);

А что бы было много мелких квадратиков одном большом, типа как палитра цветов в пэйнте, только не что бы были случайным образом раскиданы.
  • Вопрос задан
  • 306 просмотров
Пригласить эксперта
Ответы на вопрос 2
NYMEZIDE
@NYMEZIDE
резюме - ivanfilatov.ru
как то так
foreach(int x=50; x < 450; x++)
foreach(int y=50; y < 200; y++)
{
SolidBrush mySolidBrush = new SolidBrush(Color.FromArgb(r.Next(255),r.Next(255),r.Next(255),r.Next(255)));
gr.FillRectangle(mySolidBrush, x, y, x+1, y+1);
}
Ответ написан
Комментировать
@TerekhinSergey
Несколько улучшенный ответ предыдущего оратора. Только поведение на краях надо проверить:

var r = new Random();
var left = 50;
var top = 50;
var width = 450;
var height = 450;
var squareSize = 5;
using (var gr = this.CreateGraphics())
{
    foreach(var x=left; x < width - squareSize; x+=squareSize)
    foreach(var y=top; y < height - squareSize; y+=squareSize)
    {
        using (var randomBrush = new SolidBrush(Color.FromArgb(r.Next(255),r.Next(255),r.Next(255),r.Next(255))))
        {
            gr.FillRectangle(randomBrush , x, y, x+squareSize, y+squareSize);
        }
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы