Использование в Delphi анимации, графики и мультимедиа
Характеристика TMediaPlayer в инспекторе объектов. Особенности графических компонентов: TImage, TShape, TBevel. Основные свойства и методы использования в Delphi графики, мультимедиа и анимации. Необходимость умения работать с графикой и мультимедиа.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 04.10.2011 |
Размер файла | 573,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Курсовая работа
"Использование в Delphi анимации, графики и мультимедиа"
Основные теоретические сведения по теме. Использование в Delphi мультимедиа и анимации
Обзор
Delphi позволяет легко и просто включать в программу такие мультимедийные объекты, как звуки, видео и музыку. В данном уроке обсуждается, как это сделать, используя встроенный в Delphi компонент TMediaPlayer. Подробно рассматриваются управление этим компонентом в программе и получение информации о текущем состоянии.
Что такое мультимедиа
Точного определения, что же это такое, нет. Но в данный момент и в данном месте, наверное, лучше дать по-возможности наиболее общее определение и сказать, что “мультимедиа” - это термин относящийся к почти всем формам анимации, звукам, видео, которые используются на компьютере.
Давая такое общее определение, нужно сказать, что в данном уроке мы имеем дело с подмножеством мультимедиа, которое включает:
1.Показ видео в формате Microsoft's Video for Windows (AVI).
2.Воспроизведение звуков и музыки из MIDI и WAVE файлов.
Данную задачу можно выполнить с помощью динамической библиотеки Microsoft Multimedia Extensions для Windows (MMSYSTEM.DLL), методы которой инкапсулированы в компоненте TMediaPlay, находящийся на странице System Палитры Компонент Delphi.
Для проигрывания файлов мультимедиа может потребоваться наличие некоторого оборудования и программного обеспечения. Так для воспроизведения звуков нужна звуковая карта. Для воспроизведения AVI в Windows 3.1 (или WFW) требуется установить ПО Microsoft Video.
Мультимедиа в Delphi
В Delphi есть компонент TMediaPlayer, который дает Вам доступ ко всем основным возможностям программирования мультимедиа. Данный компонент очень прост в использовании. Фактически, он настолько прост, что многим начинающим программистам будет проще создать свою первую программу, проигрывающую видео или музыку, нежели показывающую классическую надпись "Hello World".
Простоту использования можно воспринимать двояко:
С одной стороны - это дает возможность любому создавать мультимедиа приложения.
С другой стороны, можно обнаружить, что в компоненте реализованы не все возможности. Если Вы захотите использовать низкоуровневые функции, то придется копаться достаточно глубоко, используя язык Delphi.
В данной теории не описываются подробности внутренних вызовов мультимедийных функций при работе компонента. Все что нужно знать - это то, что компонент называется TMediaPlayer, и что он дает доступ к набору подпрограмм, созданных Microsoft и называемых Media Control Interface (MCI). Эти подпрограммы дают программисту простой доступ к широкому кругу устройств мультимедиа. Собственно работа с TMediaPlayer интуитивно понятна и очевидна.
Компонент TMediaPlayer
Для начала давайте создадим новый проект, затем поместим компонент TMediaPlayer (стр. System Палитры) на форму, как показано на рис.1.
Рис.1: Компонент TMediaPlayer на форме
Компонент TMediaPlayer оформлен, как панель управления устройством с кнопками. Как и на магнитофоне, здесь есть кнопки “воспроизведение”, “перемотка”, “запись” и др.
Поместив компонент на форму, Вы увидите, что Инспектор Объектов содержит свойство "FileName" (см. рис.2). Щелкните дважды на этом свойстве и выберите имя файла с расширением AVI, WAV или MID. На рис.2 выбран AVI файл DELPHI.AVI. Далее нужно установить свойство AutoOpen в True.
Рис.2: Свойства TMediaPlayer в Инспекторе Объектов
После выполнения этих шагов программа готова к запуску. Запустив программу, нажмите зеленую кнопку “воспроизведение” (крайняя слева) и Вы увидите видеоролик (если выбрали AVI) или услышите звук (если выбрали WAV или MID). Если этого не произошло или появилось сообщение об ошибке, то возможны два варианта:
1. Вы ввели неправильное имя файла.
2. Вы не настроили правильным образом мультимедиа в Windows. Это означает, что либо у Вас нет соответствующего ”железа”, либо не установлены нужные драйверы. Установка и настройка драйверов производится в Control Panel, требования к “железу” приводятся в любой книге по мультимедиа (нужна звуковая карта, например совместимая с Sound Blaster).
Итак, Вы имеете возможность проигрывать AVI, MIDI и WAVE файлы просто указывая имя файла.
Еще одно важное свойство компонента TMediaPlayer - Display. Изначально оно не заполнено и видео воспроизводится в отдельном окошке. Однако, в качестве экрана для показа ролика можно использовать, например, панель. На форму нужно поместить компонент TPanel, убрать текст из св-ва Caption. Далее, для TMediaPlayer, в свойстве Display выбрать из списка Panel1. После этого надо запустить программу и нажать кнопку “воспроизведение” (см. рис.3)
Рис.3: Воспроизведение AVI на панели
Два вида программ мультимедиа
Иногда приходится предоставлять пользователям простой путь для проигрывания максимально широкого круга файлов. Это означает, что Вам нужно будет дать пользователю доступ к жесткому диску или CD-ROM, и затем позволить ему выбрать и воспроизвести подходящий файл. В этом случае, на форме обычно располагается TMediaPlayer, предоставляющий возможность управления воспроизведением.
Иногда программист может захотеть скрыть от пользователя существование компонента TMediaPlayer. То есть, воспроизвести звук или видео без того, чтобы пользователь заботился об их источнике. В частности, звук может быть частью презентации. Например, показ какого-нибудь графика на экране может сопровождаться объяснением, записанным в WAV файл. В течении презентации пользователь даже не знает о существовании TMediaPlayer. Он работает в фоновом режиме. Для этого компонент делается невидимым (Visible = False) и управляется программно.
Пример программы с мультимедиа
В данной главе мы рассмотрим пример построения приложения с мультимедиа первого типа. Создайте новый проект (File | New Project). Поместите TMediaPlayer на форму; поместите компоненты TFileListBox, TDirectoryListBox, TDriveComboBox, TFilterComboBox для выбора файла. В свойстве FileList для DirectoryListBox1 и FilterComboBox1 поставьте FileListBox1. В св-ве DirList для DriveComboBox1 поставьте DirectoryListBox1. В св-ве Filter для FilterComboBox1 укажите требуемые расширения файлов:
WAVE File(*.wav)|*.wav
MIDI file(*.MID)|*.mid
Пусть по двойному щелчку мышкой в FileListBox1 выбранный файл будет воспроизводиться. В обработчике события OnDblClick для FileListBox1 укажите:
Procedure TForm1.FileListBox1DblClick(Sender:TObject);
begin
with MediaPlayer1 do
begin
Close;
FileName:=FileListBox1.FileName;
Open;
Play;
end;
end;
Внешний вид формы представлен на рис.4
Рис.4: Начальный вид проекта
Сохраните проект, запустите его, выберите нужный файл и дважды щелкните на него мышкой. MediaPlayer должен воспроизвести этот файл в отдельном окне.
Как уже говорилось выше, видеоролик можно воспроизводить внутри формы, например, на панели. Давайте слегка модифицируем проект и добавим туда панель TPanel (см. рис.5). В св-ве Display для MediaPlayer1 укажите Panel1. Нужно убрать надпись с панели (Caption) и св-во BevelOuter = bvNone. Чтобы переключаться при воспроизведении с окна на панель - поместите TСheckBox на форму и в обработчике события OnClick для него запишите:
procedure TForm1.CheckBox1Click(Sender: TObject);
var
Start_From : Longint;
begin
with MediaPlayer1 do
begin
if FileName='' then Exit;
Start_From:=Position;
Close;
Panel1.Refresh;
if CheckBox1.Checked then
Display:=Panel1
else
Display:=NIL;
Open;
Position:=Start_From;
Play;
end;
end;
Запустите проект и воспроизведите видеоролик. Пощелкайте мышкой на CheckBox.
Рис.5: Добавлена панель для воспроизведения видео и переключатель окно/панель
Во время выполнения программы может потребоваться отобразить текущее состояние объекта MediaPlayer и самого ролика (время, прошедшее с начала воспроизведения, длину ролика). Для этого у объекта TMediaPlayer есть соответствующие свойства и события: Length, Position, OnNotify и др. Давайте добавим в проект прогресс-индикатор (TGauge), который отобразит в процентах, сколько прошло времени (см. рис.6). Для обновления показаний индикатора можно воспользоваться таймером. Поместите на форму объект TTimer, установите для него Interval = 100 (100 миллисекунд). В обработчике события OnTimer нужно записать:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
with MediaPlayer1 do
if FileName<>'' then
Gauge1.Progress:=Round(100*Position/Length);
Запустите проект, выберите файл (AVI) и щелкните на нем два раза мышкой. При воспроизведении ролика прогресс-индикатор должен отображать процент, соответствующий прошедшему времени (см. рис.6).
Рис.6: Законченное приложение для воспроизведения AVI, WAV и MDI файлов
Использование графики
Обзор
Из данной статьи Вы узнаете о том, какие возможности есть в Delphi для создания приложений, использующих графику; как использовать компоненты для отображения картинок; какие средства есть в Delphi для оформления программы. Кроме того, познакомитесь с важным свойством Canvas, которое предоставляет доступ к графическому образу объекта на экране.
Графические компоненты
В стандартную библиотеку визуальных компонент Delphi входит несколько объектов, с помощью которых можно придать своей программе совершенно оригинальный вид. Это - TImage (TDBImage), TShape, TBevel.
TImage позволяет поместить графическое изображение в любое место на форме. Этот объект очень прост в использовании - выберите его на странице Additional и поместите в нужное место формы. Собственно картинку можно загрузить во время дизайна в редакторе свойства Picture (Инспектор Объектов). Картинка должна храниться в файле в формате BMP (bitmap), WMF (Windows Meta File) или ICO (icon). (TDBImage отображает картинку, хранящуюся в таблице в поле типа BLOB. При этом доступен только формат BMP.)
Как известно, форматов хранения изображений гораздо больше трех вышеназванных (например, наиболее известны PCX, GIF, TIFF, JPEG). Для включения в программу изображений в этих форматах нужно либо перевести их в формат BMP, либо найти библиотеки третьих фирм, в которых есть аналог TImage, “понимающий” данные форматы (есть как VBX объекты, так и “родные” объекты для Delphi).
При проектировании следует помнить, что изображение, помещенное на форму во время дизайна, включается в файл .DPR и затем прикомпилируется к EXE файлу. Поэтому такой EXE файл может получиться достаточно большой. Как альтернативу можно рассмотреть загрузку картинки во время выполнения программы, для этого у свойства Picture (которое является объектом со своим набором свойств и методов) есть специальный метод LoadFromFile. Это делается, например, так:
if OpenDialog1.Execute then
Image1.Picture.LoadFromFile(OpenDialog1.FileName);
Важными являются свойства объекта Center и Stretch - оба имеют булевский тип. Если Center установлено в True, то центр изображения будет совмещаться с центром объекта TImage. Если Stretch установлено в True, то изображение будет сжиматься или растягиваться таким образом, чтобы заполнить весь объект TImage.
TShape - простейшие графические объекты на форме типа круг, квадрат и т.п. Вид объекта указывается в свойстве Shape. Свойство Pen определяет цвет и вид границы объекта. Brush задает цвет и вид заполнения объекта. Эти свойства можно менять как во время дизайна, так и во время выполнения программы.
TBevel - объект для украшения программы, может принимать вид рамки или линии. Объект предоставляет меньше возможностей по сравнению с TPanel, но не занимает ресурсов. Внешний вид указывается с помощью свойств Shape и Style.
Свойство объектов Canvas
У ряда объектов из библиотеки визуальных компонент есть свойство Canvas (канва), которое предоставляет простой путь для рисования на них. Эти объекты - TBitmap, TComboBox, TDBComboBox, TDBGrid, TDBListBox, TDirectoryListBox, TDrawGrid, TFileListBox, TForm, TImage, TListBox, TOutline, TPaintBox, TPrinter, TStringGrid. Canvas является в свою очередь объектом, объединяющим в себе поле для рисования, карандаш (Pen), кисть (Brush) и шрифт (Font). Canvas обладает также рядом графических методов : Draw, TextOut, Arc, Rectangle и др. Используя Canvas, Вы можете воспроизводить на форме любые графические объекты - картинки, многоугольники, текст и т.п. без использования компонент TImage,TShape и TLabel (т.е. без использования дополнительных ресурсов), однако при этом Вы должны обрабатывать событие OnPaint того объекта, на канве которого Вы рисуете. Рассмотрим подробнее свойства и методы объекта Canvas.
Свойства Canvas :
Brush -кисть, является объектом со своим набором свойств:
Bitmap - картинка размером строго 8x8, используется для заполнения (заливки) области на экране.
Color - цвет заливки.
Style - предопределенный стиль заливки; это свойство конкурирует со свойством Bitmap - какое свойство Вы определили последним, то и будет определять вид заливки.
Handle - данное свойство дает возможность использовать кисть в прямых вызовах процедур Windows API .
ClipRect - (только чтение) прямоугольник, на котором происходит графический вывод.
CopyMode - свойство определяет, каким образом будет происходить копирование (метод CopyRect) на данную канву изображения из другого места: один к одному, с инверсией изображения и др.
Font - шрифт, которым выводится текст (метод TextOut).
Handle - данное свойство используется для прямых вызовов Windows API.
Pen - карандаш, определяет вид линий; как и кисть (Brush) является объектом с набором свойств:
Color - цвет линии
Handle - для прямых вызовов Windows API
Mode - режим вывода: простая линия, с инвертированием, с
выполнением исключающего или и др.
Style - стиль вывода: линия, пунктир и др.
Width - ширина линии в точках
PenPos - текущая позиция карандаша, карандаш рекомендуется перемещать с помощью метода MoveTo, а не прямой установкой данного свойства.
Pixels - двухмерный массив элементов изображения (pixel), с его помощью Вы получаете доступ к каждой отдельной точке изображения (см. пример к данному уроку).
Методы Canvas:
Методы для рисования простейшей графики - Arc, Chord, LineTo, Pie, Polygon, PolyLine, Rectangle, RoundRect. При прорисовке линий в этих методах используются карандаш (Pen) канвы, а для заполнения внутренних областей - кисть (Brush).
Методы для вывода картинок на канву - Draw и StretchDraw, В качестве параметров указываются прямоугольник и графический объект для вывода (это может быть TBitmap, TIcon или TMetafile). StretchDraw отличается тем, что растягивает или сжимает картинку так, чтобы она заполнила весь указанный прямоугольник (см. пример к данному уроку).
Методы для вывода текста - TextOut и TextRect. При выводе текста используется шрифт (Font) канвы. При использовании TextRect текст выводится только внутри указанного прямоугольника. Длину и высоту текста можно узнать с помощью функций TextWidth и TextHeight.
Объект TPaintBox
На странице System Палитры Компонент есть объект TPaintBox, который можно использовать для построения приложений типа графического редактора или, например, в качестве места построения графиков (если, конечно, у Вас нет для этого специальных компонент третьих фирм). Никаких ключевых свойств, кроме Canvas, TPaintBox не имеет, собственно, этот объект является просто канвой для рисования. Важно, что координаты указателя мыши, передаваемые в обработчики соответствующих событий (OnMouseMove и др.), являются относительными, т.е. это смещение мыши относительно левого верхнего угла объекта TPaintBox, а не относительно левого верхнего угла формы.
Примеры
В первом примере (проект SHAPE.DPR, рис.1) показано, как во время выполнения программы можно изменять свойства объекта TShape. Изменение цвета объекта (событие OnChange для ColorGrid1):
procedure TForm1.ColorGrid1Change(Sender: TObject);
begin
Shape1.Brush.Color:=ColorGrid1.ForeGroundColor;
end;
Рис
Во втором примере (проект PIXELS.DPR, рис.2) показано, как осуществить доступ к отдельной точке на изображении (на канве). По нажатию кнопки “Fill” всем точкам изображения присваивается свой цвет:
procedure TForm1.Button1Click(Sender: TObject);
var
i, j : Longint;
begin
Button1.Enabled:=False;
with Canvas do
for i:=1 to Width do begin
Application.ProcessMessages;
for j:=1 to Height do
Pixels[i,j]:=i*j;
end;
Button1.Enabled:=True;
end;
Рис. B: Работа с точками на канве.
В третьей программе (проект DRAW.DPR, рис.3) приведен пример использования методов, выводящих изображение - Draw и StretchDraw:
Рис.C: Вывод изображений на канву
Прорисовка изображений происходит в обработчике события OnPaint для формы:
procedure TForm1.FormPaint(Sender: TObject);
begin
with Canvas do begin
Draw(0,0, Image1.Picture.BitMap);
StretchDraw(Rect(250,0,350,50),Image1.Picture.BitMap)
end;
end;
Контрольные вопросы по теме
Какие основные компоненты Delphi предназначены для работы с графикой ?
Какое основное свойство в Delpi, которое предоставляет доступ для работы с графическими объектами на экране ?
Какие три основных свойства у объекта Canvas ? Для чего они предназначены ?
С помощью какого компонента можно вставить в программу картинку из файла ?
Какие компоненты в Delphi предназначены для работы с мультимедиа-приложениями ?
Файлы какого формата может проигровать компонент TMediaPlayer и компонент TAnimate ?
Какое свойство компонента TMediaPlayer связывает проигрываемый файл с этим компонентом ?
Перечислите основные кнопки на панели компонента TMediaPlayer. В чем предназначение каждой из них ?
Какие основные свойства у компонента TMediaPlayer для управления процессом воспроизведения ?
Каким образом можно связать какой-либо компонент с комнонентом TMediaPlayer для изображения на нем видеоклипа ?
Какие два вида программ мультимедиа сущесвуют в Delphi ?
Каково основное предназначение мультимедиа-приложений ?
Где можно их использовать ?
Организация лабораторного практикума по теме
Цель работы
Основная цель работы состоит в изучении визуальной системы объектно-ориентированного программирования Delphi, а также в закреплении практических приемов работы в Windows, с использованием основных компонентов MicrosoftWord 7. В цель данного лабораторного практикума входит задача подробно разобраться с основными приемами работы с графикой, возможностями мультимедиа и анимации, которые существуют в Delphi. От студента требуется продемонстрировать полноту понимания пройденного материала и выполнить все задания для лабораторных работ, которые предлагаются в данном лабораторном практикуме.
Краткие сведения
При выполнении данных лабораторных работ отчеты нужно оформлять в следующем виде: каждая лабораторная работа должна содержать цель данной лабораторной работы, постановку задачи, текст исходной программы и распечатку копий экрана.
При защите каждой лабораторной работы преподавателем будет проверяться глубина понимания студентом материала, проходимого на данной лабораторной работе.
Задания для 7 вариантов лабораторных работ
Задание 1:
Разработать программу демонстрации основных возможностей свойства Canvas. Для этого разместите на форме компонент TPaintBox и компонент TRadioGroup. В полях TItems компонента TRadioGroup поместите названия :
Sin, Cos, Ln.
При активизации отдельной кнопки RadioButton компонента TRadioGroup на компоненте TPaintBox должен выводиться соответсвующий график.
Задание 2:
Составить программу вывода на экран простейших геометрических фигур( круг, окружность, овал, прямоугольник). На форме расположить такие же компоненты, как и в Задании 1( соответсвенно в полях TItems компонента TRadioGroup поместить соответствующие названия), только следует добавить еще один компонент TRadioGroup, в котором предусмотреть возможность изменять цвет заливки выводимой фигуры.
Задание 3:
Составить программу, реализующую элементарный пример анимации в Delphi. Для этого изобразите на экране прыгающий мячик, причем после каждого приземления мячик должен менять свой цвет. Вызов анимационного пример оформите на компоненте TPaintBox. Изображение прыгающего мячика должно вызываться и прекращатся кнопкой TButton.
Задание 4:
Разработать программу, реализующую элементарный проигрыватель видеоклипов с помощью компонента TAnimate. Для этого поместите на форме коспоненты TAnimate, TProgressBar, TTimer и кнопку TBitBtn. Таймер необходим для эмитации достаточно длительного по времени процесса, который будет отражаться в ProgressBar на фоне проигрывающегося видеоролика в компоненте Animate. При первом нажатии на кнопку BitBtn проигрывание дожно начинаться, а при повторном заканчиваться.
Задание 5:
Составить программу, реализующую пример универсального проигрывателя. Выбор проигрываемого файла должен осуществляться с помощью компонента TOpenDialog. Проигрыватель должен показывать изображения проигрываемого видеоклипа на компоненте TPanel, при чем если будет проигрываться аудиоролик, компонента Panel должна отсутствовать. Кроме того во время проигрывания любой записи на экране должны параллельно проигрываться видноклипы на двух компонентах TAnimate.
Задание 6:
Разработать программу, реализующую функции корзины и проводника Windows. При чем при удалении и копировании файлов должны пригрываться видеоклипы соответственно удаления файла в корзину и копирования содержимого файла из одного каталога в другой.
Задание 7:
Написать программу, которая выводила бы на экран различные картинки из файлов, при каждом появлении любой картинки дожна проигрываться какая-небудь мелодия, а при закрытии старой и выводе новой должна проигрываться мелодия стандартного звука Windows.
Полный отчет по 5-му варианту задания:
Цель работы:
Изучить основные свойства и методы работы с компонентами TMediaPlayer и TAnimate.
Постановка задачи:
Составить программу, реализующую пример универсального проигрывателя. Выбор проигрываемого файла должен осуществляться с помощью компонента TOpenDialog. Проигрыватель должен показывать изображения проигрываемого видеоклипа на компоненте TPanel, при чем если будет проигрываться аудиоролик, компонента Panel должна отсутствовать. Кроме того во время проигрывания любой записи на экране должны параллельно проигрываться видноклипы на двух компонентах TAnimate.
Текст программы:
{Unit1}
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ExtCtrls, StdCtrls, OleCtrls, vcspell3, ActnList, Buttons,
ComCtrls, MPlayer;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Image1: TImage;
Label3: TLabel;
Label4: TLabel;
Bevel1: TBevel;
BitBtn1: TBitBtn;
Label5: TLabel;
Label7: TLabel;
Label8: TLabel;
BitBtn2: TBitBtn;
MediaPlayer1: TMediaPlayer;
Panel1: TPanel;
Timer1: TTimer;
procedure Label7Click(Sender: TObject);
procedure Label8Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
num : word;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit5;
{$R *.DFM}
procedure TForm1.Label7Click(Sender: TObject);
begin
Label8.Font.Color := clYellow;
Label8.Font.Style := [fsBold];
Label7.Font.Color := clBlue;
Label7.Font.Style := [fsItalic,fsBold,fsUnderLine];
num := 1;
end;
procedure TForm1.Label8Click(Sender: TObject);
begin
Label7.Font.Color := clYellow;
Label7.Font.Style := [fsBold];
Label8.Font.Color := clBlue;
Label8.Font.Style := [fsItalic,fsBold,fsUnderLine];
num := 2;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
MediaPlayer1.FileName := 'globe.avi';
MediaPlayer1.Open;
Timer1.Enabled := true;
MediaPlayer1.Play;
num:=1;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
case num of
1 : Form2.Visible := true;
2 : Form5.Visible := true;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if MediaPlayer1.Mode = mpStopped then
begin
MediaPlayer1.Position := MediaPlayer1.Start;
MediaPlayer1.Play;
end;
end;
end.
{Unit 2}
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm2 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.DFM}
procedure TForm2.FormCreate(Sender: TObject);
begin
Form2.Visible := False;
end;
end.
{Unit3}
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, ExtCtrls;
type
TForm3 = class(TForm)
Image1: TImage;
Panel1: TPanel;
Bevel1: TBevel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.DFM}
end.
{Unit 5}
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ExtCtrls, ComCtrls, MPlayer, StdCtrls;
type
TForm5 = class(TForm)
Panel1: TPanel;
MediaPlayer1: TMediaPlayer;
TrackBar1: TTrackBar;
Timer1: TTimer;
MainMenu1: TMainMenu;
OpenDialog1: TOpenDialog;
File1: TMenuItem;
Help1: TMenuItem;
Open1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Aboutprogram1: TMenuItem;
Animate1: TAnimate;
Animate2: TAnimate;
Timer2: TTimer;
Panel2: TPanel;
Edit1: TEdit;
procedure TrackBar1Change(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Open1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
procedure Timer2Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Aboutprogram1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
uses Unit3;
{$R *.DFM}
procedure TForm5.TrackBar1Change(Sender: TObject);
begin
MediaPlayer1.Position := TrackBar1.Position;
end;
procedure TForm5.Timer1Timer(Sender: TObject);
begin
TrackBar1.Position := MediaPlayer1.Position;
if TrackBar1.Position >= TrackBar1.Max then
begin
Timer1.Enabled := false;
Timer2.Enabled := false;
MediaPlayer1.Stop;
TrackBar1.Position := 0;
end;
end;
procedure TForm5.Open1Click(Sender: TObject);
type
HMSRec = record
Hours: byte;
Minutes: byte;
Seconds: byte;
NotUsed: byte;
end;
var
st,time : string;
TheLength: LongInt;
begin
time := '';
if OpenDialog1.Execute then
begin
if OpenDialog1.FilterIndex =1 then
begin
Panel2.Visible := true;
MediaPlayer1.FileName := OpenDialog1.FileName;
MediaPlayer1.Open;
st := 'VideoClip(*.avi)';
Edit1.Font.Color := clRed;
end;
if OpenDialog1.FilterIndex = 2 then
begin
Panel2.Visible := false;
MediaPlayer1.FileName := OpenDialog1.FileName;
MediaPlayer1.Open;
st := 'WindowsSound(*.wav)';
Edit1.Font.Color := clBlue;
end;
MediaPlayer1.TimeFormat := tfHMS;
TheLength := MediaPlayer1.Length;
with HMSRec(TheLength) do
begin
time := time + IntToStr(Seconds)+':';
time := time + IntToStr(Minutes);
end;
Form5.Edit1.Text := st+' '+MediaPlayer1.FileName+' ' + time;
end;
end;
procedure TForm5.Exit1Click(Sender: TObject);
begin
close;
end;
procedure TForm5.MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
begin
if button = btPlay then
begin
TrackBar1.Max := MediaPlayer1.Length;
TrackBar1.PageSize := MediaPlayer1.Frames;
TrackBar1.Enabled := true;
Timer1.Enabled := true;
if OpenDialog1.FilterIndex = 1 then
begin
Animate1.Visible := true;
Animate2.Visible := true;
Animate1.FileName := 'cool.avi';
Animate2.FileName := 'cool.avi';
Animate1.Active := true;
Animate2.Active := true;
Timer2.Enabled := true;
end;
end;
if button = btStop then
begin
MediaPlayer1.Stop;
Mediaplayer1.Position := 0;
TrackBar1.Position := 0;
Timer1.Enabled := false;
Timer2.Enabled := false;
if OpenDialog1.FilterIndex = 1 then
begin
Animate1.Active := false;
Animate2.Active := false;
end;
end;
end;
procedure TForm5.Timer2Timer(Sender: TObject);
begin
if not(Timer2.Enabled) then
begin
Animate1.Stop;
Animate2.Stop;
end
else
begin
Animate1.Active := true;
Animate2.Active := true;
end;
end;
procedure TForm5.FormCreate(Sender: TObject);
begin
Animate1.Visible := false;
Animate2.Visible := false;
end;
procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Mediaplayer1.Stop;
TrackBar1.Position := 0;
Timer1.Enabled := false;
Timer1.Enabled := false;
Animate1.Active := false;
Animate2.Active := false;
end;
procedure TForm5.Aboutprogram1Click(Sender: TObject);
begin
Form3.Visible := True;
end;
end.
Выводы
При работе над данной курсовой работой подробно ознакомились с основными свойствами и методами использования в Delphi графики, мультимедиа и анимации. Наличие этих трех составляющих намного “украшает” любую программу. Невозможно себе представить современные программные продукты без наличия красочного мультимедийного оформления. Для использования мультимедиа и графики в программах необходимо тщательно изучить их свойства и методы, потому что их применение требует высокой точности в построении той или иной геометрической фигуры или описании того или иного действия, и неправильное использование может привести к сбою программы или в выдаче неверных результатов. Любой уважающий себя программист должен научиться работе с Графикой и использовании Мультимедиа.
delphi графика мультимедиа анимации
Литература
1. Фаронов В. В. Delphi 4. Учебный курс.-М.: “Нолидж”, 1998. 446 с., ил.
2. Федоров А.. Delphi 3.0 для всех. -М.: Тоо фирма “КомпьютерПресс”, 1998. -464 с., ил.
3. Дантеман Джефф, Мишел Джим, Тейлор Дон. Программирование в среде Delphi. Пер. с англ. - К.:НИПФ “ДиаСофт Лтд”, 1995. - 608 с.
Размещено на Allbest.ru
Подобные документы
Использование профессиональных графических примеров. Применение продуктов мультимедиа. Линейное и структурное представление информации. Мультимедиа ресурсы сети Интернет. Программное обеспечение мультимедиа-компьютера. Создание и обработка изображения.
курсовая работа [1,1 M], добавлен 04.03.2013Исследование видов программного обеспечения для мультимедиа и средств редактирования. Описания редакторов векторной и растровой графики. Анализ методов преобразования изображений. Технологии баз данных, требуемые для графики. Преобразование текста в речь.
презентация [154,7 K], добавлен 11.10.2013Линейное и структурное представление мультимедиа информации. Средства создания и обработки изображения. Средства обработки 2D-графики и анимации. Средства создания и обработки звука, презентаций, гипермедиа-ресурсов и других мультимедиа-продуктов.
курсовая работа [9,0 M], добавлен 23.01.2011Области применения мультимедиа. Основные носители и категории мультимедиа-продуктов. Звуковые карты, CD-ROM, видеокарты. Программные средства мультимедиа. Порядок разработки, функционирования и применения средств обработки информации разных типов.
контрольная работа [528,8 K], добавлен 14.01.2015Область применения компьютерной графики. Работа с графикой в Delphi, обращение к свойству Canvas-компонентов. Холст для рисования Canvas - перевернутая система координат. Свойства и методы приложения. Простое приложение, иллюстрирующее работу с графикой.
курсовая работа [968,7 K], добавлен 23.03.2015Мультимедиа: основные понятия, компоненты. Создание приложений мультимедиа, их использование в педагогике и образовании. Характеристика программ Microsoft Power Point, Corel Draw, Adobe Illustrator и AutoCAD. Проставление размеров на чертежах, их виды.
курсовая работа [41,4 K], добавлен 17.02.2012Различные виды определения термина "мультимедиа". Мультимедиа-технологии как одно из наиболее перспективных и популярных направлений информатики. Мультимедиа в сети Internet. Компьютерная графика и звуки. Различные области применения мультимедиа.
курсовая работа [43,5 K], добавлен 19.04.2012Потенциальные возможности компьютера. Широкое применение мультимедиа технологии. Понятие и виды мультимедиа. Интересные мультимедиа устройства. 3D очки, web-камеры, сканер, динамический диапазон, мультимедийная и виртуальная лазерная клавиатура.
реферат [651,4 K], добавлен 08.04.2011Понятие мультимедиа как интерактивных систем, обеспечивающих работу с неподвижными изображениями и движущимся видео, анимированной компьютерной графикой, текстом, речью и качественным звуком. Области применения сканера, веб-камеры, лазерной клавиатуры.
контрольная работа [1,2 M], добавлен 12.01.2012Мультимедиа – это современная компьютерная информационная технология, позволяющая объединить в компьютерной системе текст, звук, видеоизображение, графическое изображение и анимацию. Описание, основные носители и возможности мультимедиа технологий.
реферат [37,1 K], добавлен 19.10.2010