Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Высокоуровневые методы информатики и программир...docx
Скачиваний:
25
Добавлен:
12.11.2019
Размер:
6.53 Mб
Скачать

2.2.8.5. Изображение (tGraphic, tPicture)

Компоненты описывают файлы пиктограммы (.ICO), метафайлы, построен­ные графическими командами (.WMF, .EMF), графические раст­ро­­вые изображения (.BMP).

TGraphic содержит общие свойства и методы своих потомков: TIcon (пиктограмма), TMetafile (метафайл) и TBitmap (растровое изображение).

Свойства TGraphic

Empty ‑ объект не связан с графическим изображением (True).

Height, Width ‑ высота и ширина изображения в пикселях.

Palette:HPalette ‑ цветовая палитра.

PaletteModify ‑ цветовая палитра изменялась (True).

Transparent ‑ изображение прозрачно для фона, на котором оно находится.

Методы TGraphic

LoadFrom/SaveTo ClipboardFormat ‑ загрузка из буфера/в буфер.

LoadFrom/SaveTo File (S) ‑ загрузка из файла/в файл под именем S.

LoadFrom/SaveTo Stream (S) ‑ загрузка из потока/в поток под именем S.

Объект TPicture описывает готовое изображение.

Свойства TPicture

Assign(Source:TPersistent) ‑ связывает изображение с объектом Source.

Graphic:TGraphic ‑ содержит изображение.

Height, Width ‑ высота и ширина изображения в пикселях.

Icon:TIcon/Metafile:TMetafile ‑ изображение есть пиктограмма/метафайл.

Методы TPicture

LoadFrom ..., SaveTo ... ‑ аналогичны одноименным методам TGraphic.

Register ClipboardFormat/FileFormat/FileFormatRes ‑ регистрация нового формата изображения в Clipboard/файлового формата/в ресурсном файле.

SupportClipboard(AForm:Word) ‑ формат зарегистрирован в буфере (True).

UnregisterGraphic(AClass:TGaphicClass) ‑ блокировка графических объектов.

2.2.8.6. Анимация

Простейший алгоритм анимации заключается в шагах: вывод рисунка (фигуры); удаление его или повторный его вывод цветом фона формы; вывод, возможно нового, рисунка на следующем месте своим первоначальным цветом.

Пример перемещения шарика слева направо по форме

Procedure TForm1.Button1Click(Sender: TObject); //копка перемещения

Var r,x,y,c:Integer; Begin r:=Form1.ClientHeight div 2; //радиус шара

x:=r;y:=Form1.ClientHeight‑r; With Canvas do//присоединение имени Canvas

For x:=x to Form1.ClientWidth‑r Do Begin //заголовок цикла вывода шарика

c:=clred; Pen.Color:=c; Brush.Color:=c; Ellipse (x‑r,y‑r,x+r,y+r);//вывод шара

c:=Form1.Color; Pen.Color:=c;Brush.Color:=c;Ellipse (x‑r,y‑r,x+r,y+r);//удал.

End; End;

Процедуру очистки и вывода рисунка удобно оформлять в виде обработчика события OnTimer объекта Timer, которое происходит через временной интервал, определяемого свойством Interval этого объекта.

2.3. Основные компоненты

2.3.1. Вывод текста

Текст обычно используется для оформления документов, повышения их наглядности и в качестве заголовков объектов, которые не имеют свойств Caption.

2.3.1.1. Текстовая надпись (Label)

К омпонент предназначения для размещения на форме различных надписей (меток), например, заголовков объектов, которые не имеют свойств Caption. Если у надписи имеется клавиша быстрого доступа (акселератор) (п.2.1.7.2), то, используя свойство FocusControl, можно указать на ас­социированный с ней объект, который становится в фокусе при нажатии клавиш Alt+<акселератор>.

Пример установки фокуса на Label1 при нажатии Alt+1

Label1.Caption:=’&1 Фамилия сотрудника’; Label1.FocusControl:=Edit1;

Используя событие OnClick для надписи, можно установить фокус на нужном объекте щелчком мышки на надписи.

Пример

Procedure TForm1.Label1Click(Sender: TObject);//обработ. щелчка по Label1

Begin If Edit1.CanFocus then Edit1.SetFocus;End;//установка фокуса на Edit1

Надписи можно установить и другими компонентами, например, Edit, указав свойство ReadOnly:=True и Text:=’<текст надписи>’.