Иллюстрированный самоучитель по Delphi 7 для начинающих

Просмотр мультипликации

Теперь рассмотрим, как можно реализовать вывод в диалоговом окне программы простого "мультика", подобного тому, который можно видеть в диалоговом окне Установка связи при подключении к Internet.

Эффект бегущего между телефоном и компьютером красного квадратика достигается за счет того, что в диалоговое окно выводятся сменяющие друг друга картинки.

Кадры мультика обычно находятся в одном файле или в одном ресурсе. Перед началом работы программы они загружаются в буфер, в качестве которого удобно использовать объект типа TBitMap. Задача процедуры, реализующей вывод мультика, состоит в том, чтобы выделить очередной кадр и вывести его в нужное место формы.

Вывести кадр на поверхность формы можно применением метода copyRect к свойству canvas этой формы. Метод CopyRect копирует прямоугольную область одной графической поверхности на другую.

Инструкция применения метода CopyRect в общем виде выглядит так:

Canvas1.CopyRect(Область1, Canvas2, 06ласть2)

Где:

  • Canvas1 – графическая поверхность, на которую выполняется копирование;
  • Canvas2 – графическая поверхность, с которой выполняется копирование;
  • параметр Область2 – задает положение и размер копируемой прямоугольной области, а параметр Область1 – положение копии на поверхности Canvas1.

В качестве параметров область1 и область2 используются структуры типа TRect, поля которых определяют положение и размер области.

Заполнить поля структуры TRect можно при помощи функции Bounds, инструкция обращения к которой в общем виде выглядит так:

Bounds(x,у,Width,Height)

Где:

  • х и у – координаты левого верхнего угла области;
  • width и Height – ширина и высота области.

Следующая программа, текст которой приведен в листинге 10.12, выводит в диалоговое окно простой мультик – дельфийскую колонну, вокруг которой "летает" некоторый объект. На рис. 10.19 приведены кадры этого мультика (содержимое файла film.bmp).

Диалоговое окно программы приведено на рис. 10.20, оно содержит один единственный компонент – таймер.

Иллюстрированный самоучитель по Delphi 7 для начинающих › Графические возможности Delphi › Просмотр мультипликации

Иллюстрированный самоучитель по Delphi 7 для начинающих › Графические возможности Delphi › Просмотр мультипликации

Иллюстрированный самоучитель по Delphi 7 для начинающих › Графические возможности Delphi › Просмотр мультипликации
Рис. 10.19. Кадры мультика

Иллюстрированный самоучитель по Delphi 7 для начинающих › Графические возможности Delphi › Просмотр мультипликации

Иллюстрированный самоучитель по Delphi 7 для начинающих › Графические возможности Delphi › Просмотр мультипликации
Рис. 10.20. Форма программы

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.