Тема. Additional. Компоненты Image, Shape. Программа просмотра изображений




Изображение (форматы/расширения)
Программы Свойства/возможности Вид компьют. графики
Просмотр Редактирование Визуальные Системные Векторный Растровый
           

Мы повторили свойства изображения и может с утверждением сказать о том, что стандартным форматом графического файла в ОС Windows является формат bmp (bitmap). Это говорит о том, что файлы этого типа и это расширение является основным для применения в проектах разрабатываемых в системах программирования под ОС Windows. При разработке приложений, в которых появляется необходимость открытия, просмотра и редактирования форматов jpg, gif, png код программы на языке программирования существенно увеличивается для преобразования имеющегося в формат bmp или применяются стронние компоненты. Среди сторонних компонентов распространены библиотеки JVCL и FireMonkey, в которых без труда для разработчика можно использовать поддержку анимации, прозрачности и даже 3D. Давайте приведем пример разработки приложения для очень стандартной просмотры изображений формата bmp, которая даст необходимое представление о способах открытия изображения и изменении его свойств.

Что для этого нам может понадобится?

Для этого понадобится:

  1. Построить алгоритм разработки приложения
  2. Определить необходимые компоненты
  3. Разместить компоненты на форме
  4. Установить свойства и изменить свойства компонентов
  5. Создать и сохранить изображение формата bmp
  6. Сохранить и скомпилировать проект в системе программирования
  7. Описать алгоритм работы с программой просмотра изображений

 

Алгоритм разработки:

  • Создать новый проект
  • Сохранить проект в новой папке
  • Определить положение палитры компонентов «Standart», «Additional» и «Dialogs»
  • С закладки компонентов Standart разместить на форме компоненты Panel1 и Panel2
  • Изменить свойства компонента Panel1: Align – alTop, Caption – стереть и оставить пустым
  • Изменить свойства компонента Panel2: Align – alClient, Caption – стереть и оставить пустым
  • С закладки компонентов Standart разместить на Panel1 компоненты Button1, Button2, Button3
  • Изменить свойства компонента Button1: произвольные Height/Width, Caption – «Открыть»
  • Изменить свойства компонента Button2: произвольные Height/Width, Caption – «По центру»
  • Изменить свойства компонента Button3: произвольные Height/Width, Caption – «Растянуть»
  • С закладки компонентов Dialogs разместить на Panel1 компонент OpenDialog1
  • Изменить свойства Filter компонента OpenDialog1: […]

 

FilterName Filter
*.bmp *.bmp

 

  • С закладки компонентов Additional разместить на Panel2 компонент Image1
  • Изменить свойство компонента Image1: Align – alClient
  • Сохранить проект

 

Ваш проекта после проделанных операций должен принять следующий вид:

 

 

Перед тем как перейти к написанию кода программы вспомним события и их пояснение

 

Events События (пояснение)
OnClick Событие возникающее при щелкчке ЛКМ в момент действия пользователя
OnClose Событие возникающее при щелкчке ЛКМ на значке «Закрыть» в заголовке окна
OnCreate Событие возникающее в момент инициализации (запуска) приложения, т.е. до открытия форм приложения (Application.Run)
OnDblClick Событие возникающее при двойном щелкчке ЛКМ в момент действия пользователя
OnHide Событие возникающее в момент скрытия формы с панели задач (Н.:Form1.Hide)
OnKeyDown Событие возникающее в процессе нажатия кнопки или их группового сочетания на клавиатуре в момент действия пользователя
OnMouseDown Событие вознкаиющее в процессе нажатия и удерживания ЛКМ пользователем до того момента, пока ЛКМ не будет отпущена
OnMouseMove Событие вознкаиющее в процессе удерживания и перемещения ЛКМ пользователем до того момента, пока ЛКМ не будет отпущена
OnMouseUp Событие возникающее в момент когда после события OnMouseDown ЛКМ пользователем будет отпущена
OnPaint Событие вызываемое для включения режима работы с графикой Сanvas на форме
OnResize Событие возникающее в момент изменения размера формы в зависимости от действий пользователя или разрешения экрана
OnShow Событие возникающее в момент открытия формы в многоформенном приложении (Н.:Form3.Show)

 

Мозговой штурм:

- Как эти события могут быть применены к разрабатываемому приложению?

- В каком событии описывается процедура при нажатии левой кнопкой мыши по кнопке?

- Действие, возникающее после нажатия на кнопку описывается в событии…?

- Какое событие или какая группа событий возникают при изменении действий пользователя в процессе работы с ЛКМ? Например: нажатие и перемещение, нажатие и удержание…

- Для того чтобы открыть изображение в любом графическом редакторе пользователю необходимо проделать следующие действия. Опишите их? Дайте пояснение к работе пользователя, например, сколько раз он нажимает левой кнопкой мыши на пунктах меню? Какие события возникают в эти моменты?

Свойства у компонентов изменены, форма готова, проект сохранен. Если мы скомпилируем проект, то пока это будут просто форма с размещенными на ней компонентами. Кнопки будут не активны, по той простой причине, что никакие события в процедурах не описаны. Напишем код программы.

В событии OnClick кнопки Button1(Открыть) описывается процедура выбора, процесса открытия с помощью OpenDialog1 и загрузки изображения в компонент Image1. На естественном языке это можно записать так: если в диалоге открытия файла выбран файл, то в свойство отображения картинки компонента загрузки изображений загружается файл из указанного в диалоге открытия.

if opendialog1.execute then image1.picture.loadfromfile(opendialog1.filename);

Добавьте вышеуказанную строку в процедуру procedure TForm1.Button1Click(Sender: TObject); Скомпилируйте проект, запустите приложение нажатием на F9 на клавиатуре или воспользуйтесь значком «Run» на панели инструментов системы программирования. Откройте ваше приложение, откройте картинку в вашем приложении в режиме runtime.

 

Примечание. Процесс работы приложения называется по- иному runtime, т.е. все действия, производимые над приложением после его запуска (открытия) производятся в этом режиме. Процесс разработки приложения, включая написание кода программы, называется design time.

 

В событии OnClick кнопки Button2(По центру – англ. Center (properties)) описывается процедура установки картинки по центру, а в событии OnClick кнопки Button3(Растянуть – англ. Stretch (properties)) описывается процедура растягивания картинки по всей области компонента Image1. Указанные изменения изображения - свойства компонента Image1, т.е. для изменения свойств в runtime в каждой из процедур к соответствующему свойству нужно присвоить логическое выражение true или false для возвращения в исходное положение, точно так же как к переменной присваивается ее значение.

Задание на повторение и обобщение. Присвойте к переменной a значение 5, к переменной c значение 5,2, к переменной d значение ‘d’, а к переменной b значение ‘мама’. Какие типы данных будут у этих переменных? Запишите на доске программу присваивания к переменным указанных значений.

После описания процедур весь текст программы должен принять следующий вид.

procedure TForm1.Button1Click(Sender: TObject);

begin

if opendialog1.execute then image1.Picture.loadfromfile(opendialog1.filename);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Image1.Center:=true;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

Image1.Stretch:=true;

end;

end. Программа готова!

Закрепление. Обратите внимание на свойства компонента Image1. Какие еще свойства можно добавить в текст нашей программы для расширения ее возможностей? Добавьте компоненты и опишите эти процедуры в событиях.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-04 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: