Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебник_Часть_2.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
1.12 Mб
Скачать

X, y :real; // координаты функции

PX, PY :longint ; // координаты пикселей

Begin

For PX:=0 to Image1.Width

do Begin {X – координата , соответствующая пикселю с

координатой PX}

X:=Xmin+PX*(Xmax-Xmin)/Image.Width;

Y:=F(X);

PY:=trunc(Image1.Height-(Y-

Ymin)*Image1.Height/(Ymax-Ymin));

Image1.Canvas.Pixels[PX,PY]:=0; {устанавливается

черный цвет выбранного пикселя}

end;

end;

Второй вариант – рисование с помощью пера Pen. У канвы имеется свойство Pen – перо. Этот объект имеет свой ряд свойств. Свойство Width – ширина линии (по умолчанию = 1).

Свойство Style – определяет вид линии (сплошная, пунктирная, штриховая и т.д.)

Свойство PenPos – определяет в координатах канвы текущую позицию пера.

Перемещение пера без прорисовки производится методом канвы –MoveTo(X,Y), где X и Y –координаты точки, в которую перемещается перо. Эта точка становится исходной, от которой методом LineTo(X,Y) можно провести линию в точку с координатами (X, Y).

Rectangle (X1,Y1,X2,Y2:integer) - точки (X1, Y1) и (X2, Y2) – определяют диагональ прямоугольника.

Ellipse (X1,Y1,X2,Y2:integer) – точки (X1, Y1) и (X2, Y2) – определяют прямоугольник, описывающий эллипс.

Chord (X1,Y1,X2,Y2, X3,Y3,X4,Y4 :integer) – рисует дугу окружности или эллипса и ограниченную хордой, где начало дуги определяется пересечением прямой, проходящей через центр прямоугольника, и точкой (X3, Y3), конец дуги – пересечением прямой, проходящей через центр прямоугольника, и точкой (X4, Y4).

TextOut (X,Y, ’текст’) – вывод текста, начиная с указанной позиции.

7.4.6. Воспроизведение немых видео клипов – компонент Animate

Компонент Animate позволяет воспроизводить на форме стандартные видеоклипы Windows (типа копирования, поиска файлов и т. п.) и немые видео файлы .avi. Эти файлы представляют собой последовательность кадров битовых матриц.

Создайте новое приложение, перенесите на форму компонент Animate. Воспроизводимое изображение задается одним из двух свойств: Filename или CommonAVI. Первое свойство позволяет программно задать имя воспроизводимого файла. А второе – воспроизводить стандартные мультипликации Windows.

В компоненте Animate предусмотрены события OnClose, OnOpen, OnStart, OnStop, генерируемые соответственно в моменты закрытия и открытия компонента, начала и конца воспроизведения.

Тестовый пример воспроизведения видеоклипа

Установите свойство Visible компонента Animate в false. Это надо для того, чтобы изображение возникало только тогда, когда произойдет соответствующее событие: копирование, показ мультипликации и т. д. Свойство Autosize установите – вfalse, и свойство Activ установите – в false.

Добавьте:

  1. Кнопку OK, которая будет начинать процесс воспроизведения.

  2. Компонент Timer, который служит для отсчета интервалов времени. Таймер включается при установке значения True в его свойство Enabled и будет включен пока его свойство Enabled не примет значение false.

  3. Компонент ProgressBar1, предназначенный для отображения хода выполнения длительного по времени процесса, который начинается с момента срабатывания таймера. Свойства max и min - значения диапазона изменения. Свойство Position содержит текущее значение отображаемой величины (см. рис.7.9).

Напишем два обработчика событий procedure TForm1.BitBtn1Click – запускает процесс и procedure TForm1.Timer1Timer завершает процесс и подготавливает компоненты к следующему запуску.

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

Animate1.FileName:='cool.avi';

Animate1.Active:=True;

ProgressBar1.Show;

Timer1.Enabled:=True;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

ProgressBar1.Position:= ProgressBar1.Position + 1;

if ProgressBar1.Position >= ProgressBar1.Max

then begin

Timer1.Enabled:=False;

ProgressBar1.Position:=0;

ProgressBar1.Hide;

Animate1.Stop;

end;

end;

Рис. 7.9. Внешний вид проекта