Исходный код Графического редактора на Delphi 7, Delphi XE
(можно переписать на нужный Вам язык)
- Графический редактор - формулировка задания
- Функционал программы Графический редактор (интерфейс)
- Полученный результат
- Исходный код
Графический редактор - формулировка задания
Создать графический редактор с расширенной панелью выбора фигур.
Реализовать возможность выбора следующих фигур из панели:
Рис.1 Перечень фигур для панели
Панель выбора фигур сделать колонкой слева. Кнопки панели должны выделяться / сбрасывается, чтобы можно было рисовать несколько однотипных фигур.
Функционал программы Графический редактор (интерфейс)
Реализовать следующие функции:
- Добавить выбранную фигуру на рабочее поле (фигура рисуется растяжкой мышью на поле);
- Реализовать возможность выделения фигур (щелчком мышью в поле толщина границы выделенной фигуры изменяется);
- Возможность перемещения фигур по рабочему полю (для выделенных фигур);
- Удаление (стирание ненужных) фигур с рабочего поля (для выделенных фигур);
- Реализовать возможность поворота фигуры на 90, 180, 270 градусов (для выделенных фигур);
- Реализовать возможность заливки фигур;
- Полная очистка поля (холста).
Полученный результат
Рис.2 Полученный результат
Щелчок левой кнопкой мыши по палитре позволяет выбрать цвет линии (FG) для будущих фигур, а щелчок правой кнопкой мыши цвет заливки фигуры (BG).
Исходный код
Для примера демонстрирую метод Show класса gRomb, который по двум точкам (нажатие и отпускание левой кнопки мыши) на холсте - рисует ромб.
Подобные методы написаны для каждой из фигур, указанных в задании.
//=================== gRomb ====================
procedure gRomb.Show();
begin
inherited;
SetLength(pol,4);
pol[0]:= Point(xs,mp1.Y); TurnMatrix(pol[0]);
pol[1]:= Point(mp2.X, ys); TurnMatrix(pol[1]);
pol[2]:= Point(xs,mp2.Y); TurnMatrix(pol[2]);
pol[3]:= Point(mp1.X, ys); TurnMatrix(pol[3]);
image.Canvas.Polygon(pol);
end;
// - - - - - - - - - - - -
Скачать ехе-файл для тестирования
Другие примеры на тему «Математические методы компьютерной 2D 3D графики»
Другие примеры на языке «Delphi»
Если у Вас остались вопросы, то задать их Вы можете, нажав на эту кнопочку ...
Поделиться в соц сетях: