Важное место в графическом инструментарии Delphi занимают классы TGraphic и TPicture.
TGraphic - это абстрактный класс, инкапсулирующий общие свойства и методы трех своих потомков: пиктограммы (TIcon), метафайла (TMetafile) и растрового изображения (TBitmap). Общей особенностью потомков TGraphic является то, что обычно они сохраняются в файлах определенного формата. Пиктограммы представляют собой небольшие растровые изображения, снабженные специальными средствами, регулирующими их прозрачность. Для файлов пиктограмм обычно используется расширение ico. Метафайл - это изображение, построенное на графическом устройстве с помощью специальных команд, которые сохраняются в файле с расширением wmf или emf. Растровые изображения - это произвольные графические изображения в файлах со стандартным расширением bmp.
Свойства класса TGraphic:
|
property Empty: Boolean;
| Содержит True, если с объектом не связано графическое изображение
|
property Height: Integer;
| Содержит высоту изображения в пикселях
|
property Modified: Boolean;
| Содержит True, если графический объект изменялся
|
property Palette: HPALETTE;
| Содержит цветовую палитру графического объекта
|
property PaletteModified: Boolean;
| Содержит True, если менялась цветовая палитра графического объекта
|
property Transparent: Boolean;
| Содержит True, если объект прозрачен для фона, на котором он изображен
|
property Width: Integer;
| Содержит ширину изображения в пикселях
|
Методы Класса TGraphic:
|
procedure LoadFromClipooardFormat (AFormat: Word;AData: THandle; APalette:HPALETTE);
| Ищет в буфере межпрограммного обмена Clipboard зарегистрированный формат AFormat и, если формат найден, загружает из буфера изображение AData и его палитру Apalette
|
procedure LoadFromrile(const FileName:String);
| Загружает изображение из файла FileName
|
procedure LoadFromStream(Stream: TStream);
| Загружает изображение из потока данных Stream
|
procedure SaveToClipboardFormat (var AFormat: Word;var AData: THandle; varAPalette: HPALETTE);
| Помещает графическое изображение Adata и его цветовую палитру APalette в буфер межпрограммного обмена в формате Aformat
|
procedure SaveToFile(constFileName: Strings;
| Сохраняет изображение в файле FileName
|
procedure SavePoStream(Stream: TStream);
| Сохраняет изображение в потоке Stream
|
Полнофункциональный класс TPicture инкапсулирует в себе все необходимое для работы с готовыми графическими изображениями - пиктограммой, растром или метафайлом. Его свойство Graphic может содержать объект любого из этих типов, обеспечивая нужный полиморфизм методов класса.
Свойства класса TPicture:
|
property Bitmap: TBitmap;
| Интерпретирует графический объект как растровое изображение
|
property Graphic: TGraphic;
| Содержит графический объект
|
property Height: Integer;
| Содержит высоту изображения в пикселях
|
property Icon: TIcon;
| Интерпретирует графический объект как пиктограмму
|
property Metafile: TMetafile;
| Интерпретирует графический объект как метафайл
|
property width: Integer;
| Содержит ширину изображения в пикселях
|
Методы классаTPicture:
|
procedure Assign(Source: TPersistent);
| Связывает собственный графический объект Graphic с объектом Source
|
procedure LoadFromClipboardFormat (AFormat: Word;AData: THandle; APalette:HPALETTE);
| Ищет в буфере межпрограммного обмена Clipboard зарегистрированный формат AFormat и, если формат найден, загружает из буфера изображение AData и его палитру APalette
|
procedure LoadFromFile(const FileName:String);
| Загружает изображение из файла FileName
|
class procedure Register; ClipboardFormat(AFormat: Word; AGraphicClass: TGraphicClass);
| Используется для регистрации в Clipboard нового формата изображения
|
class procedure Register; FileFormat (const AExtension, ADescription: String; AGraphicClass: Tgraphic Class);
| Используется для регистрации нового файлового формата
|
class procedure RegisterFileFormatRes(const AExtension: String; ADescriptionResID: Integer; Agraphic Class: TGraphicClass);
| Используется для регистрации нового формата ресурсного файла
|
procedure SaveToClipboardFormat (var AFormat: Word; var AData: THandle; varAPalette: HPALETTE);
| Помещает графическое изображение AData и его цветовую палитру APalette в буфер межпрограммного обмена в формате AFormat
|
procedure SaveToFile(const FileName: Strings;
| Сохраняет изображение в файле FileName
|
class function SupportsClipboardFormat(AFormat: Word): Boolean;
| Возвращает True, если формат Aformat зарегистрирован в буфере межпрограммного обмена Clipboard
|
class procedure UnregisterGraphicClass(AClass:TGraphicClass);
| Делает недоступными любые графические объекты класса Aclass
|