Задание
Разработать приложение «Графические примитивы» с использованием классов Brush, Pen и Graphics. Использовать при необходимости компонент Timer и его событие Tick.
Функционал программы
- Построение графических примитивов с заданными случайными значениями своих параметров.
- Выборка режима отображения примитивов: один, количество, бесконечно. Для последнего случая управление скоростью рисования.
- Для закрашенных фигур использование сплошной кисти со случайным окрашиванием и случайной прозрачностью.
- Для закрашенных фигур использование узорной кисти. Случайно выбирается узор и два цвета: фона и контура узора.
- Для закрашенных фигур использование градиентной кисти. Случайно выбирается два цвета и направление перехода градиента.
- Для закрашенных фигур использование текстурной кисти. Для текстурной кисти случайно выбирается изображение.
Содержание отчета к программе
- Введение
- Основаня часть
- Заключение
- Приложение. Исходный код программы с комментариями
Фрагмент программного кода
int znachenie = 0;
private void Form1_Load(object sender, EventArgs e)
{
textBoxNescolko.Text = znachenie.ToString();
radioButtonOdin.Checked = true;
}
Random chvet = new Random();
Random xy = new Random();
Random xy1 = new Random();
Graphics linii,linii2;
Graphics oval,oval1;
Graphics Pryamoyg, Pryamoyg1;
Graphics sector, sector1;
private void buttonStart_Click(object sender, EventArgs e)
{
timer1.Start();
if (radioButtonOdinChvet.Checked == true && radioButtonVibor.Checked == true)
{
Random figyra = new Random();
znachenie = Convert.ToInt32(textBoxNescolko.Text);
for (int i = 0; i < znachenie; i++)
{
int fig = figyra.Next(1, 5);
if (fig == 1)
{
linii2 = pictureBoxGlavnaya.CreateGraphics();
Color color5 = Color.FromArgb(100, chvet.Next(255), chvet.Next(255), chvet.Next(255));
Pen pen5 = new Pen(color5);
pen5.DashStyle = DashStyle.Solid;
pen5.StartCap = LineCap.Square;
pen5.EndCap = LineCap.Square;
pen5.Width = 2;
linii2.DrawLine(pen5, xy.Next(350), xy.Next(350), xy.Next(300), xy.Next(300));
oval1 = pictureBoxGlavnaya.CreateGraphics();
Color color4 = Color.FromArgb(100, chvet.Next(255), chvet.Next(255), chvet.Next(255));
SolidBrush chvetnaya = new SolidBrush(color4);
oval1.FillEllipse(chvetnaya, xy.Next(350), xy.Next(250), xy.Next(100), xy.Next(100));
}
if (fig == 2)
{
oval1 = pictureBoxGlavnaya.CreateGraphics();
Color color4 = Color.FromArgb(100, chvet.Next(255), chvet.Next(255), chvet.Next(255));
SolidBrush chvetnaya = new SolidBrush(color4);
oval1.FillEllipse(chvetnaya, xy.Next(350), xy.Next(250), xy.Next(100), xy.Next(100));
Pryamoyg1 = pictureBoxGlavnaya.CreateGraphics();
Color color6 = Color.FromArgb(100, chvet.Next(255), chvet.Next(255), chvet.Next(255));
SolidBrush chvetnaya1 = new SolidBrush(color6);
Pryamoyg1.FillRectangle(chvetnaya1, xy.Next(350), xy.Next(250), xy.Next(100), xy.Next(100));
}
if (fig == 3)
{
Pryamoyg1 = pictureBoxGlavnaya.CreateGraphics();
Color color6 = Color.FromArgb(100, chvet.Next(255), chvet.Next(255), chvet.Next(255));
SolidBrush chvetnaya1 = new SolidBrush(color6);
Pryamoyg1.FillRectangle(chvetnaya1, xy.Next(350), xy.Next(250), xy.Next(100), xy.Next(100));
sector1 = pictureBoxGlavnaya.CreateGraphics();
Color color7 = Color.FromArgb(100, chvet.Next(255), chvet.Next(255), chvet.Next(255));
SolidBrush chvetnaya2 = new SolidBrush(color7);
sector1.FillPie(chvetnaya2, xy1.Next(1, 350), xy1.Next(1, 250), xy1.Next(1, 100), xy1.Next(1, 100), xy1.Next(1, 100), xy1.Next(1, 100));
Скриншот архива с проектом

Пояснения по запуску программы
WinForms C#.
Телеграм
-