Задание
Разработать графический редактор, позволяющий формировать и редактировать изображения.
Меню редактора должно обеспечивать выбор следующих режимов:
а) выбор цвета фона,
б) выбор цвета объектов,
в) выбор типа и толщины линий,
г) рисование прямых линий по задаваемым координатам,
д) специальная функция:
- построение заданного объекта (сфера) и управление режимами отрисовки (точечный, каркасный, сплошной);
- поддержка функций изменения масштаба изображения и его вращения;
Функционал программы
- Рисование линий в 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 или выше
- Запустить проект
shogun