Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Тема 9 Графические компоненты Delphi




Цель

План

1. Image – изображение

2. Shape – фигура

3. Bevel – обрамление

4. Класс Canvas

1. Image – изображение

Этот компонент служит для размещения на форме одного из трех поддерживаемых Delphi типов изображений: растровой картинки, пиктограммы или метафайла. Любой из этих типов изображения содержится в центральном свойстве компонента - picture. В свойстве canvas содержится канва, с помощью которой при необходимости программа может отредактировать растровое изображение (но не пиктограмму или метафайл!).

Вот как можно создать несложный просмотрщик изображений, окно которого показано на рис. 1:

· Поместите на форму панель TPanei, очистите ее свойство caption и поместите значение alBottom в свойство Alignment - панель займет нижнюю часть формы.

· Разместите на панели кнопку TButton с надписью загрузить.

· На любое свободное место формы (над панелью) поместите компонент Timage и установите в его свойство Align значение alClient.

· На любое место (Timage, TPanei или даже TButton) поместите cтандартный диалог TOpenPictureDialog (страница Dialogs палитры компонентов) - с его помощью пользователь вашей программы сможете разыскать нужный файл с изображением.

Рис. 1. Компонент Tfmage воспроизводит изображение

 

Напишите такой обработчик события onСlick для кнопки Button1:

procedure TFormI.ButtonlClick(Sender: TObject);

Begin

if OpenPictureDialogI.Execute then

Begin

Imagel.Picture.LoadFromFile -(OpenPictureDialogI.FileName);

Imagel.Stretch:= True

End

End;

Замечу, что оператор

Imagel.Stretch := True

масштабирует изображение так, чтобы оно занимало всю рабочую область TImage.

Свойства компонента:

property Center: Boolean; Указывает, надо ли центрировать изображение в границах компонента. Игнорируется, если Autosize=True или если Stretch =True и изображение не является пиктограммой (ICO)
property Canvas: TCanvas; Содержит канву для прорисовки изображения
property Transparent: Boolean; Запрещает/разрешает накладывать собственный фон изображения на фон компонента
property Proportional: Boolean;property Stretch: Boolean; Разрешает/запрещает изменять размер изображения так, чтобы оно целиком заполнило клиентскую область компонента
property Picture: TPicture; Разрешает/запрещает пропорционально уменьшать высоту и ширину изображения, если оно не может целиком уместиться в рабочей зоне компонента
property IncrementalDisplay: Boolean; Разрешает/запрещает показ большого изображения по мере его загрузки Центральное свойство класса. Служит контейнером изображения

С помощью методов класса TPicture, к которому относится свойство picture, программист может загрузить изображение из файла или буфера межпрограммного обмена clipboard и сохранить его в файле или буфере.

Для компонента определено событие onprogress, с помощью обработчика которого программа может получить дополнительную информацию во время выполнения длительной по времени операции загрузки крупного изображения:

type TProgressStage = (psStarting, psRunning, psEnding);

TProgressEvent = procedure (Sender: TObject;

Stage: TProgressStage; PercentDone: Byte;

RedrawNow: Boolean;

const R:

TRect; const Msg: String) of object;

property OnProgress: TProgressEvent

Параметр stage содержит состояние процесса загрузки (psStarting - начало, psRunning - идет загрузка, psEnding - процесс завершен). Параметр PercentDone приблизительно указывает процент выполненной работы. С помощью параметра RedrawNow Windows сообщает, нужно ли сейчас выполнить прорисовку части изображения. Этот параметр имеет смысл, только если свойство incrementaiDis-play компонента содержит True. r - прямоугольник, нуждающийся в прорисовке. Msg содержит одно или более слов, уточняющих состояние процесса. Обычно в обработчике события по сигналу psStarting создается индикатор процесса типа TprogressBar, по сигналам psRunning изменяется позиция индикатора, а в момент psEnding индикатор уничтожается. Следует учесть, что событие onprogress создается только при загрузке некоторых типов изображений, например, подготовленных в формате JPEG (Joint Photographic Expert Group - объединенная группа фотографических экспертов) [ Для поддержки JPEG в Delphi включен специальный класс TJPEGImage. Пример использования этого класса, а также события OnProgress вы найдете в программе help\examples\jpeg\jpegproj.dpr каталога размещения Delphi. ].

2. Shape – фигура

Компонент рисует одну из простейших геометрических фигур, определяемых следующим множеством:

type TShapeType = (stRectangle, stSquare, stRoundRect, stRoundSquare, stEllipse, stCircle);

(прямоугольник, квадрат, скругленный прямоугольник, скругленный квадрат, эллипс, окружность). Фигура полностью занимает все пространство компонента. Если задан квадрат или круг, а размеры элемента по горизонтали и вертикали отличаются, фигура чертится с размером меньшего измерения.

Помимо стандартных чертежных инструментов Brush и pen (шрифт для компонента не нужен) в компоненте определено свойство shape.' TShapeType, которое и задает вид геометрической фигуры. Изменение этого свойства приводит к немедленной перерисовке изображения

 

3. Bevel – обрамление

Компонент класса TBevel носит оформительский характер и предназначен для выделения группы элементов или отделения их друг от друга. Свойство

type TBevelShape = (bsBox, bsFrame, bsTopLine, bsBottomLine, bsLeftLine, bsRightLine);

property Shape: TBevelShape;

определяет вид компонента (прямоугольник, рамка, верхняя линия, нижняя линия, левая линия, правая линия).

Свойство

type TBevelStyle = (bsLowered, bsRaised);

property Style: TBevelStyle;

задает стиль компонента (вдавленный или выпуклый).

Литература: 1, с.54-67.

Контрольные вопросы.

1. Какие свойства и события использует компонент Image – изображение

2. Какие свойства использует компонент Shape – фигура

3. Какие свойства использует компонент Bevel – обрамление

 





Поделиться с друзьями:


Дата добавления: 2016-11-24; Мы поможем в написании ваших работ!; просмотров: 877 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Свобода ничего не стоит, если она не включает в себя свободу ошибаться. © Махатма Ганди
==> читать все изречения...

2305 - | 2068 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.