Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Компонент Image и некоторые его свойства

Поиск

 

Нередко возникает потребность украсить свое приложение какими-то изобра­жениями. Это может быть графическая заставка, являющаяся логотипом вашего приложения. Или это могут быть фотографии сотрудников некоего учреждения при разработке приложения, работающего с базой данных этого учреждения. В первом случае вам потребуется компонент Image, расположенный на странице Additional библиотеки компонентов, во втором — его аналог DBImage, связанный с данными и расположенный на странице Data Controls.

Начнем знакомство с этими компонентами. Откройте новое приложение и пе­ренесите на форму компонент Image. Его свойство, которое может содержать изоб­ражение — Picture. Нажмите на кнопку с многоточием около этого свойства или просто сделайте двойной щелчок на Image, и перед вами откроется окно Picture Editor, позволяющее загрузить в свойство Picture какой-нибудь графи­ческий файл (кнопка Load), а также сохранить открытый файл под новым именем или в новом каталоге. Щелкните на Load, чтобы загрузить графический файл. Пе­ред вами откроется окно Load Picture. По мере переме­щения курсора в списке по графическим файлам в правом окне отображаются со­держащиеся в них картинки, а над ними — цифры, характеризующие размер кар­тинки. Вы можете найти графические файлы в каталоге Images. В Delphi 6 и 5 он обычно расположен в каталоге...\program files\Common Files\Borland\Borland Shared, в Delphi 4 — в...\program files\Common Files\Borland Shared.

После загрузки файла щелкните на ОК и в вашем компоненте Image отобразится выбранное вами изображение. Можете запустить ваше приложение и полюбовать­ся им. Впрочем, вы и так видите картинку, даже не выполняя приложение.

Когда вы в процессе проектирования загрузили изображение из файла в ком­понент Image, он не просто отображает его, но и сохраняет в приложении. Это дает вам возможность поставлять ваше приложение без отдельного графического фай­ла. Впрочем, как мы увидим позднее, в Image можно загружать и внешние графи­ческие файлы в процессе выполнения приложения.

Вернемся к рассмотрению свойств компонента Image.

Если установить свойство AutoSize в true, то размер компонента Image будет автоматически подгоняться под размер помещенной в него картинки. Если же свойство AutoSize установлено в false, то изображение может не поместиться в компонент или, наоборот, площадь компонента может оказаться много больше площади изображения.

Другое свойство — Stretch позволяет подгонять не компонент под размер ри­сунка, а рисунок под размер компонента. Установите AutoSize в false, растяните или сожмите размер компонента Image и установите Stretch в true. Вы увидите, что рисунок займет всю площадь компонента, но поскольку вряд ли реально уста­новить размеры Image точно пропорциональными размеру рисунка, то изображе­ние исказится. Устанавливать Stretch в true может иметь смысл только для ка­ких-то узоров, но не для картинок.

Свойство — Center, установленное в true, центрирует изображение на площа­ди Image, если размер компонента больше размера рисунка.

Рассмотрим еще одно свойство — Transparent (прозрачность). Если Transpa­rent равно true, то изображение в Image становится прозрачным. Это можно испо­льзовать для наложения изображений друг на друга. Поместите на форму второй компонент Image и загрузите в него другую картинку. Только постарайтесь взять какую-нибудь мало заполненную, контурную картинку. Можете, например, взять картинку из числа помещаемых обычно на кнопки, например стрелку (файл...\progrom files\common files\borland\borland shared\images\buttons\arrowlr.bmp). Пере­двиньте ваши компоненты Image так, чтобы они перекрывали друг друга, и в верх­нем компоненте установите Transparent равным true. Вы увидите, что верхняя картинка перестала заслонять нижнюю. Одно из возможных применений этого свойства — наложение на картинку надписей, выполненных в виде битовой матри­цы. Эти надписи можно сделать с помощью встроенной в Delphi программы Image Editor.

Учтите, что свойство Transparent действует только на битовые матрицы.

 

2.1.2. Простое приложение для просмотра графических файлов

 

Вы создали приложение, в котором на форме отображается выбранная вами в процессе проектирования картинка. Вы можете легко превратить его в более интересное приложение, в котором пользователь сможет просматривать и загружать любые графические файлы. Для этого достаточно перенести на форму компонент OpenPictureDialog, расположенный в библиотеке на странице Dialogs и вызываю­щий диалоговое окно открытия и предварительного просмотра изображения, а также кнопку, запускающую просмотр, или меню с единственным раз­делом Файл.

А теперь вам осталось написать всего один оператор в обработчике щелчка на кнопке или на разделе меню:

if OpenPictureDialogl.Execute then Imagel.Picture.LoadFromFile(OpenPictureDialogl.FileName);

Этот оператор загружает в свойство Picture компонента Imagel файл, выбран­ный в диалоге пользователем. Выполните свое приложение и проверьте его в рабо­те. Щелкая на кнопке, вы можете выбрать любой графический файл и загрузить его в компонент Imagel.

В таком приложении есть один недостаток — изображения могут быть разных размеров и их положение на форме или будет несимметричным, или они не будут помещаться в окне. Это легко изменить, заставив форму автоматически настраива­ться на размеры изображения. Для этого надо установить в компоненте Imagel свойство AutoSize равным true, а приведенный ранее оператор изменить следую­щим образом:

,if.OpenPictureDialogl.Execute then begin

Iagel.Picture.LoadFromFile(OpenPictureDialogl.FileName); Forml.ClientHeight:= Imagel.Height+10; Imagel.Top:= Forml.ClientRect.Top +

(Forml.ClientHeight-Imagel.Height) div 2; Forml.ClientWidth:= Imagel.Width+10; Imagel.Left:= Porml.ClientRect.Left +

(Forml.ClientWidth-Imagel.Width) div 2; end;

В этом коде размеры клиентской области формы устанавливаются несколько больше размеров компонента Imagel, которые в свою очередь адаптируются к раз­меру картинки благодаря свойству AutoSize.

Запустите теперь ваше приложение, и вы увидите, что при различ­ных размерах изображения ваше приложение выглядит отлично.

Форматы графических файлов

 

Прежде, чем продвигаться дальше, поговорим немного о форматах графиче­ских файлов. Delphi поддерживает три типа файлов — битовые матрицы, пиктог­раммы и метафайлы. Все три типа файлов хранят изображения; различие заклю­чается лишь в способе их хранения внутри файлов и в средствах доступа к ним. Битовая матрица (файл с расширением .bmp) отображает цвет каждого пикселя в изображении. При этом информация хранится таким образом, что любой компью­тер может отобразить картинку с разрешающей способностью и количеством цве­тов, соответствующих его конфигурации.

Пиктограммы (файлы с расширением ico) — это маленькие битовые матрицы. Они повсеместно используются для обозначения значков приложений, в быстрых кнопках, в пунктах меню, в различных списках. Способ хранения изображений в пиктограммах схож с хранением информации в битовых матрицах, но имеются и различия. В частности, пиктограмму невозможно масштабировать, она сохраняет тот размер, в котором была создана.

Метафайлы (Metafiles) хранят не последовательность битов, из которых состо­ит изображение, а информацию о способе создания картинки. Они хранят последо­вательности команд рисования, которые и могут быть повторены при воссоздании изображения. Это делает такие файлы, как правило, более компактными, чем би­товые матрицы.

Delphi может работать со следующими файлами:

- JPEG Image File (.Jpg. Jpeg);

- Битовые матрицы (.bmp);

- Пиктограммы (.ico);

- Enhanced Metafiles (.emf);

- Metafiles (.wmf).



Поделиться:


Последнее изменение этой страницы: 2016-12-28; просмотров: 729; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.105.101 (0.009 с.)