Работа
с графикой в
Kylix
Из этой главы вы узнаете,
как с помощью Kylix можно создавать приложения, использующие графику. Вы научитесь
работать с объектом канвы или холста (Canvas), рисовать различные
фигуры, строить графики и диаграммы. В конце этой главы мы создадим простую
игровую графическую программу.
Kylix предоставляет программисту
несколько способов работы с графикой. Для добавления графического элемента в
ваше приложение вы можете вставить предварительно созданную картинку во время
разработки приложения, создать картинку во время разработки приложения средствами
Kylix или нарисовать ее во время работы приложения.
Общий обзор программирования
графики в Kylix
Графические компоненты
CLX инкапсулируют возможности Qt, которые позволяют достаточно легко добавлять
графику в Linux-приложения.
Для рисования в Kylix (так
же, как и в Delphi) используется канва объекта, на котором будет производиться
рисование.
Канва (холст) — это
свойство, имеющееся у некоторых объектов, входящих в CLX Kylix, которое позволяет
рисовать на поверхности объекта, как на холсте.
Примечание
Далее по тексту мы будем использовать слово канва вместо слова холст, т. к. это слово более полно описывает поверхность для рисования.
Главное преимущество канвы
объекта в том, что она наиболее эффективно использует ресурсы, и вы можете применять
одни и те же методы для вывода графики на экран, принтер или графический образ.
Канва объекта доступна программисту только во время работы приложения, таким
образом, для обращения к канве нужно использовать команды языка Object Patscal.
Способ отображения графики
в вашем приложении зависит от типа объекта CLX, канва которого используется
для рисования. Если вы напрямую выводите рисунок на канву объекта управления,
изображение будет выведено немедленно.
В то же время, если вы
рисуете на канве объекта, находящегося вне экрана, например на канве объекта
графического образа TBitmap
, изображение не будет отображаться,
пока не будет выполнено копирование из графического образа на канву элемента
управления.
Примечание
Использование объекта
TBitmap
в консольных приложениях приведет к исключительной ситуации с выдачей сообщения "Имя проекта: невозможно соединиться с Х-сервером
".
Применяя графику в своих
приложениях, вы будете довольно часто использовать два основных понятия: черчение
и рисование.
Черчение — это создание
с помощью команд языка Object Pascal особых одиночных графических элементов,
например линий и геометрических фигур.
Рисование — это
создание готового (полного) графического образа на канве объекта.
Таким образом, рисование
включает в себя черчение. В качестве примера можно рассмотреть прорисовку окна
редактирования TEdit,
который рисует сам себя, начертив сначала
прямоугольник, а затем — текст внутри прямоугольника.