На этом шаге мы рассмотрим состав класса TGraphic.
TGraphic - это абстрактный класс, инкапсулирующий общие свойства и методы трех своих потомков:
Общей особенностью потомков TGraphic является то, что обычно они сохраняются в файлах определенного формата. Пиктограммы представляют собой небольшие растровые изображения, снабженные специальными средствами, регулирующими их прозрачность. Для файлов пиктограмм обычно используется расширение ico.
Метафайл - это изображение, построенное на графическом устройстве с помощью специальных команд, которые сохраняются в файле с расширением wmf или emf.
Растровые изображения - это произвольные графические изображения в файлах со стандартным расширением bmp.
Свойства этого класса приведены в таблице 1:
Свойство | Описание |
---|---|
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:
Метод | Описание |
---|---|
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. |
На следующем шаге мы рассмотрим дополнительные возможности по работе с графикой.