Шаг 41.
Графические инструменты в Delphi. Класс TGraphic

    На этом шаге мы рассмотрим состав класса TGraphic.

    TGraphic - это абстрактный класс, инкапсулирующий общие свойства и методы трех своих потомков:

    Общей особенностью потомков 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.

    На следующем шаге мы рассмотрим дополнительные возможности по работе с графикой.




Предыдущий шаг Содержание Следующий шаг