Компонент Delphi Animate

Компонент Delphi Animate расположен на странице Win32 Палитры компонентов. Он позволяет воспроизводить  анимацию немых (без звука) видео клипов в формате AVI, размер которых не больше 64 Кбайт и видио в нем не должно быть сжато. Сам видио клип не сохраняется вместе с приложением, поэтому запуская программу Вы должны знать, что файл клипа присутствует на диске.

Файл клипа загружается при помощи свойства FileName, в нем указывается имя .AVI файла. Свойство  FileName можно изметять в процессе работы приложения. Со средой Delphi идет один демонстрационный файл - cool.avi, как применить его пример ниже:

Animate1.FileName := 'C:\Program Files\Borland\Delphi7\Demos\CoolStuf\cool.avi';

У компонента Animate есть стандартные клипы Windows, которые можно использовать в своих приложениях.  Для этого необходимо свойству CommonAVI присвоить одно из следующих значений:

  • Поиск папки - aviFindFolder;
  • Поиск файла - aviFindFile;
  • Поиск компьютера - aviFindComputer;
  • Копирование файлов - aviCopyFiles;
  • Копирование файла - aviCopyFile;
  • Перемещение файла в корзину - aviRecycleFile;
  • Очистка корзины - aviEmptyRecycle;
  • Удаление файла - aviDeleteFile;
  • Использовать клип указанный с свойстве FileName - aviNone;

Клипы Windows занимают различный размер на экране и поэтому свойство AutoSize  необходимо задавать равным TRUE (размеры компонента Animate автоматически подстраиваются под размер кадров видеоклипа).

Во время работы приложения доступны для чтения свойства (тип Integer) FrameCount - число кадров, FrameHeight - высота кадров (в пикселах), FrameWidth - ширина кадров (в пикселах).

Для того чтобы запустить воспроизведение клипа нужно свойству Active (тип Boolean) задать значение TRUE. Остановить клип можно свойству Active задав False.

Воспроизвести  клип или его фрагмент можно  методом Play, форма его записи такая:

procedure Play(FromFrame, ToFrame: Word; Count: Integer);

Будет воспроизводиться заданная последовательность кадров клипа начиная от FromFrame до ToFrame включительно и Count раз воспроизведение повторяется. При FromFrame равном 1  воспроизведение начинается с первого кадра. Параметр ToFrame должен быть больше FromFrame и меньше значения, заданного свойством FrameCount. При Count равным нулю воспроизведение повторяется пока не будет выполнен метод Stop.

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

Свойство Repetitions (Integer) задает сколько раз будет повторяться клип, по умолчанию установлено 0 и клип повторяется бесконечно.

компонент AnimateДля закрепления материала создадим такое приложение.

На форме разместим 4 кнопки и 2 компонента Animate. Для первого компонента Animate FileName зададим таким (у меня файл находится на диске C, у Вас может быть иначе)(можно задать через Инспектор объектов):

Animate1.FileName := 'C:\Program Files\Borland\Delphi7\Demos\CoolStuf\cool.avi';

Самой верхней кнопке задаем Caption - Старт и обработчик:

procedure TForm1.Button1Click(Sender: TObject);
begin
    Animate1.Active := true;
end;

Второй сверху кнопке задаем Caption - Стоп и обработчик:

procedure TForm1.Button1Click(Sender: TObject);
begin
    Animate1.Active := False;
end;

Для второго компонента Animate свойство CommonAVI задаем - aviFindFolder. Для второй с низу кнопки Caption - Старт и обработчик:

procedure TForm1.Button3Click(Sender: TObject);
begin
    Animate2.Play(1,Animate2.FrameCount,0);
end;

Для самой нижней кнопки Caption - Стоп и обработчик:

procedure TForm1.Button3Click(Sender: TObject);
begin
    Animate2.Stop;
end;

Итог: Мы познакомились с компонентом Delphi Animate, его назначением и возможностью применения в приложении.

Понравилась статья? Раскажите друзьям:
Общайтесь со мной

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>