Задание
Разработать приложение «Графические примитивы» с использованием классов 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#.
Scharp