Динамические изменения в субтитрах или изображениях часто можно увидеть в фильмах или на телевидении. При создании мультимедийных презентационных документов, таких как мультимедийное обучающее программное обеспечение или реклама, часто необходимы динамические изменения в графике и тексте. Являясь мощным инструментом разработки программного обеспечения Windows, VB6.0 имеет широкие перспективы применения в мультимедийном программировании. В этой статье обсуждается использование таймеров VB6.0 в сочетании с функциями Windows API для достижения специальных эффектов, таких как динамическое масштабирование и затухание изображений или текста.
1. Метод программирования для реализации эффектов динамического масштабирования и затухания графики и текста.
1. Интерфейс программы
Назовите форму Form1 и установите для ее свойства Windowsstate значение 2. Установите следующие элементы управления и свойства в форме Form1: элемент управления меткой Label1, задний цвет которого равен фоновому цвету стиля облигаций 0, а параметр Autosize имеет значение True; Элемент управления изображением image1, его значения Stretch и Visible имеют значение True, равное 0; Два поля изображения контролируют Picture1 и Picture2, свойство Visible Picture1 имеет значение False, а свойство Picture2 имеет значение True; свойство AutoRedraw Picture1 имеет значение True, а свойство ScaleModel имеет значение Pixels; оба свойства Bondstyle имеют значение 0. Три элемента управления таймером Timer1, Timer2 и Tirner3; массив командных кнопок cmd(0),...,Cmd(4), атрибутами заголовка которых являются: «Масштабирование текста», «Масштабирование изображения», «Скрыть текст», «Изображение». Спрятаться» и «Выйти».
2. Динамическое масштабирование текста
Регулярно изменяя свойство «Размер» текста с помощью таймера VB6.0, можно добиться эффекта динамического увеличения или уменьшения текста. В программе размер текста атрибута caption метки Label1 контролируется с помощью процесса настройки таймера1. Событие cmd_click, инициируемое cmd(0), запускает процесс timer1_time, который управляет изменением текста с помощью логической переменной 1(0) (элемент массива). Когда 1(0)=true, шрифт увеличивается динамически, а когда — нет. 1(0)=false Динамически уменьшать шрифты.
3. Динамическое масштабирование графики
Установите для свойства растяжения элемента управления image1 значение true, чтобы размер изображения в элементе управления изменялся при изменении размера элемента управления imagel. Путем регулярного изменения размера элемента управления изображением посредством процесса настройки таймера2 достигается эффект динамического масштабирования изображения. Событие cmd_click, вызванное cmd(1), запускает процесс timer2_time, который управляет изменением изображения с помощью логической переменной 1(1). Когда 1(1)=true, он управляет динамическим увеличением изображения. Когда 1. (1)=false, управляет динамическим уменьшением изображения.
4. Эффект появления и исчезновения текста.
Возьмите несколько слов из строки в качестве значения заголовка метки Label1. Если количество слов, перехваченных из строки, увеличивается (пока оно не станет равным общему количеству слов в строке), будет достигнут эффект затухания текста; уменьшается количество перехватываемых слов (от количества слов в строке) Общее количество символов в строке уменьшается до 0), достигается эффект затухания текста. Этот эффект достигается за счет регулярного изменения количества перехваченных слов во времени: процесс timer3. Запускается cmd(2). Событие md_click запускает процесс timer3_time и управляет изменением текста с помощью логической переменной 1(2). Когда 1(2)=true, текст появляется, а когда 1(2)=false, текст исчезает. .
5. Эффект постепенного появления и затухания графики.
Это достигается за счет использования функции Windows API BitBlt для копирования изображений. Использование функции BitBlt:
Значение каждого параметра следующее: hDestDC и hSrcDC представляют дескриптор таблицы описания целевого устройства и дескриптор таблицы описания исходного устройства соответственно. То есть скопировать картинку из hSrcDC в hDestDC. Свойство hDC элемента управления Picturellox — это дескриптор контекста устройства, который мы хотим использовать. x, Y представляют положение верхнего левого угла цели, nWidth, nHeight представляют ширину и высоту цели. То есть, где в таблице контекста целевого устройства должно быть скопировано изображение, а также насколько широко и высоко оно должно быть скопировано. xsrc и ySrc обозначают положение верхнего левого угла исходного изображения, то есть место начала копирования. Параметр DwRop представляет метод рисования, и обычно используется метод прямого копирования. В этом случае используется SRCCOPY.
2. Программный код для реализации динамического масштабирования изображений и текста, а также специальных эффектов постепенного появления и исчезновения.
Вышеуказанная программа была отлажена в средах VB6.0 и Windows98/2000.
->