Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Компонент 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 (прозрачность). Если Transparent равно 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 с.) |