Int с; // номер воспроизводимого кадра
public:
_fastcall TForml(TComponent* Owner);
};
// baner_.cpp
#define FBANER "borland.bmp" // баннер
#define NKADR 4 // количество кадров в баннере
void__fastcall TForml::FormCreate(TObject *Sender)
{
baner = new Graphics::TBitmap();
baner->LoadFromFile(FBANER); // загрузить баннер
h = baner->Height;
w = baner->Width / NKADR;
scr = Rect(10,10,10+w,10+h); // положение и размер области
// воспроизведения баннера kadr = Rect(0,0,w,h);
// положение и размер первого кадра
//в баннере
}
// обработка события OnTimer
void__fastcall TForml:rTimerlTimer(TObject *Sender)
{
// вывести кадр баннера
Canvas->CopyRect(scr,baner->Canvas,kadr);
// подготовиться к воспроизведению следующего кадра
if (с < NKADR)
{
// воспроизводимый в данный момент
// кадр — не последний
с++;
kadr.Left += w;
kadr.Right += w;
}
else
{
с = 0;
kadr.Left = 0;
kadr.Right = w;
}
}
Программа состоит из двух функций. Функция TForm1::Form-Create создает объект TBitmap и загружает в него баннер — BMP-файл, в котором находятся кадры баннера. Затем, используя информацию о размере загруженного битового образа, функция устанавливает значения характеристик кадра: высоту ширину. Основную работу в программе выполняет функция обработки события onTimer, которая выделяет из битового образа Baner очередной кадр и выводит его на поверхность формы. Выделение кадра и его отрисовку путем копирования фрагмента картинки с одной поверхности на другую выполняет метод copyRect (рис. 23.17), которому в качестве параметров передаются координаты области, куда нужно копировать, поверхность и положение области, откуда нужно копировать. Положение фрагмента в фильме, т. е. координата х левого верхнего угла, определяется умножением ширины кадра на номер текущего кадра.
Рис. 23.17. Метод CopyRect копирует в область Rect1 поверхности Canvas1 область Rect2 с поверхности Canvas2
- Московский государственный университет
- Компоненты
- Событие и функция обработки события
- Редактор кода
- Система подсказок
- Навигатор классов
- Шаблоны кода
- Справочная система
- Сохранение проекта
- Компиляция
- Предупреждения и подсказки
- Компоновка
- Запуск программы
- Ошибки времени выполнения
- Внесение изменений
- Настройка приложения
- Название программы
- Значок приложения
- Перенос приложения на другой компьютер
- Структура простого проекта
- 2. Задание на выполнение работы
- 1. Электроэнергия.
- 2. Игра «угадай число».
- 3. Гороскоп
- 4. Межгород
- 6. Алфавит
- 7. Палиндром
- 8. Метеослужба
- 9. Статистика
- 10. Кафе.
- Лабораторная работа №22 Графика.
- Карандаш и кисть
- Графические примитивы
- Ломаная линия
- Прямоугольник
- Многоугольник
- Окружность и эллипс
- Лабораторная работа №23 Иллюстрации
- Битовые образы
- Мультипликация
- Метод базовой точки
- Использование битовых образов
- Загрузка битового образа из ресурса программы
- Создание файла ресурсов
- Подключение файла ресурсов
- Int w, h; // размер кадра
- Int с; // номер воспроизводимого кадра
- Лабораторная работа №25
- 1. База данных и субд
- Локальные и удаленные базы данных
- Структура базы данных
- Псевдоним
- Компоненты доступа и манипулирования данными
- Создание базы данных
- Доступ к базе данных Доступ к базе данных обеспечивают компонентыDatabase, Table, Query и DataSource.Значки этих компонентов находятся на вкладкахData Accessи bde(рис. 25.8).
- Отображение данных
- Манипулирование данными
- Выбор информации из базы данных
- Перенос программы управления базой данных на другой компьютер
- 2. Задание на выполнение работы
- Литература