- •1 Основные компоненты для работы с графикой
- •2 Свойства класса тCanvas
- •3 Методы и события класса тCanvas
- •4. Разработка простой программы
- •5. Создание «резиновой нити»
- •6. Реализация преобразования координатных систем
- •7. Добавление функции масштабирования изображения
- •8. Дополнительное задание
- •9. Заключение.
- •7 Контрольные вопросы
8. Дополнительное задание
Создайте приложение, включающее в себя 4 окна (поля вывода). В первом окне реализуйте возможность свободного рисования с помощью мыши. При нажатой кнопке за курсором должен оставаться точечный след. Во втором окне должны вычерчиваться отрезки с использованием курсора “резиновая нить”, показывающим положение создаваемого отрезка. В третьем окне - прямоугольники, в качестве курсора необходимо использовать “резиновый прямоугольник”. По нажатию правой кнопки мыши реализуйте режим перетаскивания нарисованных ранее прямоугольников. В последнем окне аналогичным образом должны вычерчиваться окружности.
9. Заключение.
В рамках данного занятия мы, с помощью графических средств среды Delphi, создали прототип простейшей интерактивной программы. В ходе ее мы коснулись многих основных компонент, которые включает в себя интерактивная графическая система. Еще раз перечислим их.
Прикладная модель. Хранит в себе описание создаваемых пользователем объектов в терминах геометрических примитивов, поддерживаемых данной системой, и отношений между ними. В нашем примере модель была вырождена до простого массива.
Модуль визуализации. Компонента системы, обеспечивающая создание визуального представления модели. Во многих системах реализуется на основе геометрического конвейера. Прямое преобразование координат, производимое нами при выводе примитивов, имеет непосредственное отношение к данному модулю.
Логические устройства ввода информации. Обеспечивают ввод графической информации в координатной системе модели, поддерживают необходимые типы курсоров и обеспечивают независимость от физических устройств.
Интерфейс пользователя – набор компонент, обеспечивающих взаимодействие пользователя с системой. К интерфейсу можно отнести меню, кнопки и другие визуальные объекты, созданные нами на экране. Обработчики событий и состояние системы, представленное в нашей программе совокупностью значений переменных, обеспечивают логику диалога с пользователем.
Реализовывать самостоятельно все компоненты графической системы сложно и трудоемко. Удобнее воспользоваться готовыми средствами. Реализации таких стандартов графического ядра как GKS или PHIGS предоставляют прикладному программисту наиболее полный набор необходимых компонент. Они предлагают средства логического ввода/вывода, структуры хранения данных для создания модели, видовой конвейер и другие компоненты.
Библиотеки класса OpenGL, DirectX предоставляют пользователю только средства связанные с выводом изображения, возлагая на прикладного программиста реализацию других компонент. Однако, на сегодняшний день они пользуются большой популярностью и последующие занятия мы посвятим работе с OpenGL.
7 Контрольные вопросы
Почему предпочтительнее использовать режим NotXor при имитации движения линии?
В обработчике, какого события целесообразно размещать код, восстанавливающий изображение?
Какие визуальные компоненты Delphi, предназначенные для вывода графического изображения, не требуют его восстановления при перечерчивании формы?
Перечислите основные свойства объекта Canvas.
К чему приведет изменение положения поля вывода (без изменения размеров) при неизменном окне преобразования?
Что произойдет с изображением, если увеличить окно преобразования?
