Написание программы для создания видео презентаций

Автор работы: Пользователь скрыл имя, 18 Января 2012 в 21:16, курсовая работа

Описание

В данном проекте была сделана программа для создания AVI презентаций , для разработки которой мне потребовалось умение работать с программой Delphi 7, знание языка Delphi а конкретнее работа с компонентом AviWriter в среде Delphi.

Работа состоит из  1 файл

рамка.doc

— 1.56 Мб (Скачать документ)

       Начнем  с рассмотрения инструмента «линия»,  когда логическая переменная отвечающая за его активность принимает значение true, это происходит при нажатии на кнопку Линия, то при нажатии  на левую кнопку мыши над изображением и перемещением ее в другую область изображения срабатывает часть процедуры OnMouseMove:

      if ispen = true then

      form2.Image1.Picture.Bitmap.Canvas.LineTo(x,y);

       Здесь оператором IF определяется значение переменной ispen и если оно равно true то на изображении которое находиться в компоненте Image1 через его свойство Canvas при помощи процедуры LineTo рисуется линия, отмечая каждую новую точку по координатам курсора, которые записаны в переменных X и Y, если же значение переменной ispen равно false, то программа переходит к проверке активности следующего инструмента.

       Инструмент  «окружность» работает по схожему принципу, когда логическая переменная отвечающая за его активность принимает значение true, это происходит при нажатии на кнопку Окружность, то при нажатии на левую кнопку мыши над изображением и перемещением ее в другую область изображения срабатывает часть процедуры OnMouseMove:

      if isellipse = true then

      begin

      form2.Image1.Picture.Bitmap.LoadFromFile(extractfilepath(paramstr(0)) + 'modpic');

      form2.Image1.Picture.Bitmap.Canvas.Ellipse(dx,dy,x,y);

      end;

       Здесь также оператором IF определяется значение переменной isellipse. И если его значение равно true то на изображении которое находиться в компоненте Image1 через его свойство Canvas при помощи процедуры Ellipse рисуется окружность. Переменные dx и dy это координаты курсора мыши на момент нажатия кнопки мыши, они передают процедуре координаты верхнего левого края окружности, а x и y это текущие координаты курсора мыши, которые определяют правый нижний край  окружности. Строка:

Image1.Picture.Bitmap.LoadFromFile(extractfilepath(paramstr(0)) + 'modpic');

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

       Инструмент  «прямоугольник» работает так же как и инструмент «окружность», когда логическая переменная отвечающая за его активность принимает значение true, это происходит при нажатии на кнопку Прямоугольник, то при нажатии на левую кнопку мыши над изображением и перемещением ее в другую область изображения срабатывает часть процедуры OnMouseMove:

      if isrectangle = true then

      begin

      form2.Image1.Picture.Bitmap.LoadFromFile(extractfilepath(paramstr(0)) + 'modpic');

      form2.Image1.Picture.Bitmap.Canvas.Rectangle(dx,dy,x,y);

      end;

       Здесь оператором IF определяется значение переменной isrectangle. И если его значение равно true то на изображении которое находиться в компоненте Image1 через его свойство Canvas при помощи процедуры Rectangle рисуется прямоугольник. Переменные dx и dy это координаты курсора мыши на момент нажатия кнопки мыши, они передают процедуре координаты верхнего левого угла прямоугольника, а x и y это текущие координаты курсора мыши, которые определяют правый нижний угол прямоугольника.

       Часть процедуры OnMouseMove которая выводит на экран текст, так же как и в пред идущих случаях начинается с условного оператора IF, в котором в данном случае проверяется переменная istext. Если ее значение равно true то выполняются следующие операторы:

      begin

      form2.Image1.Picture.Bitmap.Canvas.Font:=form2.FontDialog1.Font;

      form2.Image1.Picture.Bitmap.LoadFromFile(extractfilepath(paramstr(0)) + 'modpic');

      OldBkMode := SetBkMode(form2.Image1.Picture.Bitmap.Canvas.Handle, TRANSPARENT);

      form2.Image1.Picture.Bitmap.Canvas.TextOut(x,y,form2.Edit1.Text);

      SetBkMode(form2.Image1.Picture.Bitmap.Canvas.Handle, OldBkMode);

      end;

       Здесь в первой строке определяется шрифт, размер, цвет и другие свойства выводимого текста. Выбрать их можно вызвав диалоговое окно настройки шрифта, нажав на кнопку «Шрифт» расположенную в правом нижнем углу панели рисования.

       Вторая  строка используется при отмене последнего изменения в изображении. Отменить ненужное изменение можно с помощью кнопки «отменить последнее действие» расположенной в левом верхнем углу панели рисования.

       В четвертой стоке происходит непосредственный вывод текста, при помощи процедуры TextOut на Canvas компонента Image1 в котором находиться изменяемое изображение выводиться текст, написанный в поле для ввода текста которое расположено на панели рисования. Прозрачность фона текста обеспечивается методом OldBkMode.

       На  панели рисования так же расположены  компоненты позволяющие изменять некоторые свойства кисти такие как, например цвет линии, цвет заливки и толщина. Помимо этого на панели рисования расположен компонент для выбора стиля заливки. В процедуре обработчика событий выпадающего списка со стилями заливки для определения выбранного стиля используется оператор выбота Case, по индексу в списке со стилями изменяется свойство Canvas.Brush.Style у компонента Image1 в котором храниться изображение. Процедура обработчика события изменения состояния списка со стилями заливки выглядит следующим образом:

       procedure TForm2.ComboBox1Change(Sender: TObject);

       begin

       case form2.ComboBox1.ItemIndex of

       0: form2.Image1.Picture.Bitmap.Canvas.Brush.Style:=bsSolid;

       1: form2.Image1.Picture.Bitmap.Canvas.Brush.Style:=bsClear;

       2: form2.Image1.Picture.Bitmap.Canvas.Brush.Style:=bsBDiagonal;

       3: form2.Image1.Picture.Bitmap.Canvas.Brush.Style:=bsFDiagonal;

       4: form2.Image1.Picture.Bitmap.Canvas.Brush.Style:=bsCross;

       5: form2.Image1.Picture.Bitmap.Canvas.Brush.Style:=bsDiagCross;

       6: form2.Image1.Picture.Bitmap.Canvas.Brush.Style:=bsHorizontal;

       7: form2.Image1.Picture.Bitmap.Canvas.Brush.Style:=bsVertical;

       end;

       end;

 

Заключение.

       В данном дипломном проекте была сделана программа для создания AVI презентаций , для разработки которой мне потребовалось умение работать с программой Delphi 7, знание языка Delphi а конкретнее работа с компонентом AviWriter в среде Delphi.

       В данной курсовой работе я достиг поставленных передо мной целей, а именно:

  • Написал программу для создания презентаций в формате .avi;
  • Сделал программу наиболее простой в понимании для обычных пользователей;
  • Обеспечил возможность доступа к программе широкому кругу пользователей;
  • А так же более глубоко изучил работу с видео данными в среде разработки программного обеспечения Delphi 7.

Информация о работе Написание программы для создания видео презентаций