Задание
Разработать графический редактор, позволяющий формировать и редактировать изображения.
Меню редактора должно обеспечивать выбор следующих режимов:
а) выбор цвета фона,
б) выбор цвета объектов,
в) выбор типа и толщины линий,
г) рисование прямых линий по задаваемым координатам,
д) специальная функция:
- построение заданного объекта (сфера) и управление режимами отрисовки (точечный, каркасный, сплошной);
- поддержка функций изменения масштаба изображения и его вращения;
Функционал программы
- Рисование линий в 2D пространстве с помощью мыши
- Редактирование нарисованных линий
- Выбор цвета фона
- Выбор цвета линий
- Выбор типа и толщины линий
- Построение сферы в 3D пространстве
- Выбор режима отрисовки сферы (точечный, каркасный, сплошной)
- Вращение и масштабирование сферы
Содержание отчета к программе
- Задание
- Листинг программы
- Результаты
Фрагмент программного кода
/// <summary>
/// Класс точки в 2-х мерном пространстве
/// </summary>
public class Point2D
{
#region Свойства
public double X { get; set; }
public double Y { get; set; }
public bool IsSelected { get; set; }
#endregion
#region Конструкторы
/// <summary>
/// Конструктор по умолчанию
/// </summary>
public Point2D()
{
X = 0;
Y = 0;
}
/// <summary>
/// Параметрический конструктор
/// </summary>
/// <param name="_x">Координата X</param>
/// <param name="_y">Координата Y</param>
public Point2D(double _x, double _y)
{
X = _x;
Y = _y;
}
#endregion
#region Методы
public bool Hit(int x, int y)
{
IsSelected = x >= X - 3 && x <= X + 3 && y >= Y - 3 && y <= Y + 3;
return IsSelected;
}
public void Draw()
{
GL.PointSize(6);
if (IsSelected)
GL.Color3(Color.Red);
else
GL.Color3(Color.Blue);
GL.Begin(BeginMode.Points);
GL.Vertex2(X, Y);
GL.End();
}
public void Drag(int dx, int dy)
{
X += dx;
Y += dy;
}
#endregion
}
}
Скриншот архива с проектом


Пояснения по запуску программы
- Открыть проект в Visual Studio версии 2019 или выше
- Запустить проект
Телеграм
-