На этом шаге мы рассмотрим состав класса TGraphic.
TGraphic - это абстрактный класс, инкапсулирующий
общие свойства и
методы трех своих потомков:
- пиктограммы (TIcon),
- метафайла (TMetafile) и
- растрового изображения (TBitmap).
Общей особенностью потомков TGraphic является то, что обычно они
сохраняются в
файлах определенного формата. Пиктограммы представляют собой небольшие
растровые изображения,
снабженные специальными средствами, регулирующими их прозрачность. Для
файлов пиктограмм обычно
используется расширение ico.
Метафайл - это изображение, построенное на
графическом устройстве с помощью специальных команд, которые сохраняются
в файле с
расширением wmf или emf.
Растровые изображения - это произвольные графические
изображения в файлах
со стандартным расширением bmp.
Свойства этого класса приведены в таблице 1:
Таблица 1. Свойства класса
TGraphic
Свойство | Описание |
---|---|
property Empty: Boolean; | Содержит True, если с объектом не связано графическое изображение, то есть в объект не загружалось графическое изображение. |
property Height: Integer; | Содержит высоту изображения в пикселях. |
property Modified: Boolean; | Содержит True, если графический объект изменялся. Это свойство устанавливается в True внутри обработчика события OnChange. |
property Palette: HPALETTE; | Содержит цветовую палитру графического объекта. |
property PaletteModified: Boolean; | Содержит True, если менялась цветовая палитра графического объекта. |
property Transparent: Boolean; | Содержит True, если объект прозрачен для фона, на котором он изображен. |
property Width: Integer; | Содержит ширину изображения в пикселях. |
Методы этого класса перечислены в таблице 2:
Таблица 2. Методы класса
TGraphic
Метод | Описание |
---|---|
procedure LoadFromClipboardFormat (AFormat: Word; AData: THandle; APalette:HPALETTE); | Ищет в буфере обмена Clipboard зарегистрированный формат AFormat и, если формат найден, загружает из буфера изображение AData и его палитру APalette. |
procedure SaveToClipboardFormat (var AFormat: Word; var AData: THandle; var APalette: HPALETTE); | Помещает графическое изображение AData и его цветовую палитру APalette в буфер обмена в формате AFormat. |
procedure LoadFromFile (const FileName: String); | Загружает изображение из файла FileName. |
procedure SaveToFile (const FileName: String); | Сохраняет изображение в файле FileName. Этот и предыдущий методы создают соответствующий файловый поток и затем вызывают методы LoadFromStream / SaveToStream. |
procedure LoadFromStream (Stream: TStream); | Загружает изображение из потока данных Stream. |
procedure SaveToStream (Stream: TStream); | Сохраняет изображение в потоке Stream. |
На следующем шаге мы рассмотрим дополнительные возможности по работе с
графикой.