Следующие три свойства определяют, как именно графический объект располагается в клиентской области компонента:
D property AutoSize: Boolean;
Означает, что размеры компонента настраиваются по размерам содержащегося в нем графического объекта. Устанавливать его в значение True нужно перед загрузкой изображения из файла или буфера обмена.
Оproperty Stretch: Boolean;
Если это свойство установлено в значение True, то изображение "натягивается" на клиентскую область, при необходимости уменьшая или увеличивая свои размеры. Если оно установлено в False, то играет роль следующее СВОЙСТВО Center.
Оproperty Center: Boolean;
Если это свойство установлено в значение True, изображение центрируется в пределах клиентской области. В противном случае оно располагается в ее верхнем левом углу.
Несмотря на то, что описанию свойств и методов графических объектов здесь отведено уже довольно много места, работа с ними проста и удобна. Программу для просмотра изображений в среде Delphi можно создать буквально "в три счета":
1. Поместите на форму следующие компоненты: область прокрутки TScrollBox, на нее - компонент Tlmage (их верхние левые углы должны совпадать), любую кнопку (например, TButton) и диалог открытия файлов TOpenPictureDialog.
2. Подключите к главному модулю создаваемого приложения модуль JPEG (в предложении uses); свойство AutoSize компонента Timage установите в значение True.
3. Дважды щелкните мышью на кнопке. В появившемся обработчике события Onclick напишите такой код:
procedure TForml.BitBtnlClick(Sender: TObject); begin OpenPictureDialogl.Filter := GraphicFilter(TGraphic); if OpenPictureDialogl.Execute
then Imagel.Picture.LoadFromFile(OpenPictureDialogl.FileName) ;
end;
Приложение готово. Обратите внимание на роль полиморфизма в методе LoadFromFile - по расширению файла определяется его формат и в зависимости от этого создается нужный графический объект.
Использование диалогов для загрузки и сохранения графическихфайлов
Для удобства открытия картинок существует пара компонентов-диалогов: TOpenPictureDialog И TSavePictureDialog.
Список форматов открываемых файлов определяется свойством Filter. Можно, как в случае со стандартными диалогами TOpenDialog или TSaveDialog, сформировать их вручную с помощью редактора свойства Filter. Можно поступить проще, воспользовавшись готовыми средствами. Для удобства формирования строк графических фильтров существуют три специальные функции:
Ö
function GraphicFilter (GraphicClass : TGraphicClass) : string;
Формирует строку с полным текстом графического фильтра, позволяющего открывать все файлы, форматы которых являются потомками параметра GraphicClass. Если в качестве параметра этой функции будет передан класс TGraphic, то в строке будут перечислены все форматы:
'ALI {*.jpg;*.jpeg;*.bmp;*.ico;*.emf; *.wmf) |*.jpg;*.jpeg;*.bmp;*.ico; *.emf;*.wmf|JPEG Image File (*.jpg)I *.jpg I JPEG Image File
(*.jpeg) I*.jpegI Bitmaps (*.bmp) |*.bmp|Icons (*.ico) I*.ico|Enhanced Metafiles (*.emf)j * .emf |Metafiles (*.wmf)| *,wmf