Другие методы работы с графикой в Куliх
Другие методы работы с графикой в Куliх
Вообще, вам не требуется наличие специальных компонентов для работы с графическими возможностями Kylix. Вы можете создавать, рисовать, сохранять и уничтожать графические объекты без отображения графики на экране. В качестве графического объекта могут выступать bmp-файлы, рисунки, пиктограммы и другие объекты, включая сжатые jpeg-файлы. В большинстве случаев приложение редко рисует напрямую на форме. Обычно сначала создается графический образ, а затем он отображается с помощью компонента CLX Image.
Как только вы разместили рисунок в компонент Image, вы можете достаточно легко его сохранять, загружать и копировать в буфер обмена.
Примечание
Если вы рисуете не на экране, а, например, на канве объекта TBitmap, изображение не будет отображаться на экране до тех пор, пока не будет произведено копирование рисунка из канвы объекта TBitmap в канву визуального объекта. Более того, необходимо сделать перерисовку визуального объекта после копирования, например с помощью вызова метода Refresh для данного визуального объекта. Если вы рисуете напрямую в канве визуального объекта, таких проблем не возникает.
Иногда картинка превышает размер формы. Для просмотра таких больших изображений можно разместить на форме компонент TScrollBox и помещать изображение внутрь этого компонента.
Работа с компонентом Image
Компонент Image представляет собой контейнер, который может содержать и отображать графический объект.
Вы можете расположить данный компонент в любом месте формы, после чего с помощью инспектора объектов в свойстве Picture указать графический объект, который будет содержаться в компоненте Image. Кроме того, данное свойство можно изменять и в процессе выполнения приложения, изменяя свойство Picture.
Если вы хотите, чтобы приложение сразу после запуска создавало чистую заготовку для изображения, вам необходимо выполнить следующие шаги:
1. Создать заготовку обработчика события OnCreate для формы, содержащей Компонент Image.
2. Создать объект Bitmap и присвоить его свойству Picture.Graphic компонента Image.
В нижеприведенном примере (листинг 13.17) главная форма приложения Form1 содержит компонент типа TImage, который имеет имя (свойство Name) Image. Код размещен в обработчике события OnCreate формы Form1.