Презентация, доклад Графика в Delphi

Содержание

Основные определения

Слайд 1Графика в DELPHI
Битовые образы
Электростальский филиал ГБПОУ
«Московский колледж управления, гостиничного бизнеса и

информационных технологий «Царицыно»

Алферова Ж.О.
преподаватель

Графика в DELPHIБитовые образыЭлектростальский филиал ГБПОУ«Московский колледж управления, гостиничного бизнеса и информационных технологий «Царицыно»Алферова Ж.О.преподаватель

Слайд 2Основные определения

Основные определения

Слайд 3Использование битовых образов
В программе битовый образ представляет собой объект типа TBitMap.
Загрузить

битовый образ из файла можно при помощи метода LoadFromFile, указав в качестве параметра имя bmp-файла, в котором хранится нужная картинка.
Вывести битовый образ на поверхность формы или в область компонента IMAGE можно путём применения метода Draw к свойству Canvas.

Использование битовых образовВ программе битовый образ представляет собой объект типа TBitMap.Загрузить битовый образ из файла можно при

Слайд 4Задание:
Сформировать на поверхности формы изображе-ние, состоящее из нескольких элементов:
Фоновое изображение

(файл fon.bmp)
Перемещающийся объект (файлы kadr1.bmp – kadr7.bmp)

Задание:Сформировать на поверхности формы изображе-ние, состоящее из нескольких элементов:Фоновое изображение

Слайд 5Выполнение задания
Создайте новый проект.
Поместите на форму компонент Timer (палитра System).
Сохраните проект

в новой папке.
Поместите в папку с проектом подготовлен-ные изображения.
Объявите необходимые переменные в общем разделе.
Создайте необходимые обработчики событий
Выполнение заданияСоздайте новый проект.Поместите на форму компонент Timer (палитра System).Сохраните проект в новой папке.Поместите в папку с

Слайд 6Объявление переменных
Var pic,f: TBitMap;
x,y,w,h,k: Integer;

pic

– битовый образ, предназначенный для отображения текущего кадра анимации
F – битовый образ, предназначенный для вывода фона
x, y – текущее положение очередного кадра
w, h – размеры текущего кадра
k – счётчик кадров
Объявление переменныхVar pic,f: TBitMap;    x,y,w,h,k: Integer;pic   – битовый образ, предназначенный для отображения

Слайд 7Создание обработчиков событий
procedure TForm1.FormCreate(Sender: TObject);
begin
// период возникновения события onTimer – 0,1

сек
Timer1.Interval:=100;
// запуск таймера
Timer1.Enabled:=True;
end;
Создание обработчиков событийprocedure TForm1.FormCreate(Sender: TObject);begin// период возникновения события onTimer – 0,1 секTimer1.Interval:=100;// запуск таймераTimer1.Enabled:=True;end;

Слайд 8Создание обработчиков событий
procedure TForm1. FormActivate(Sender: TObject);
begin
// создание двух битовых образов
pic:=TBitMap.Create; // картинка
f:=TBitMap.Create;

// фон
//загрузка изображений из файлов
f.LoadFromFile(‘fon.bmp’);
pic.LoadFromFile(‘kadr1.bmp’);
pic.Transparent:=True; //установка «прозрачного» фона
//установка начальных значений для определения координат
w:=pic.Width; x:=Form1.Width;
H:=pic.Height; y:=0;
end;
Создание обработчиков событийprocedure TForm1. FormActivate(Sender: TObject);begin// создание двух битовых образовpic:=TBitMap.Create;	// картинкаf:=TBitMap.Create; 		// фон//загрузка изображений из файловf.LoadFromFile(‘fon.bmp’);pic.LoadFromFile(‘kadr1.bmp’);pic.Transparent:=True; 	//установка

Слайд 9Создание обработчиков событий

procedure TForm1.FormPaint(Sender: TObject);
begin
// вывод фона
Form1.Canvas.Draw(0,0,f);
end;

Создание обработчиков событийprocedure TForm1.FormPaint(Sender: TObject);begin// вывод фонаForm1.Canvas.Draw(0,0,f);end;

Слайд 10Создание обработчиков событий
// обработка сигнала таймера
procedure TForm1.Timer1Timer(Sender: TObject);
begin

end;

Эффект перемещения объекта

Создание обработчиков событий// обработка сигнала таймераprocedure TForm1.Timer1Timer(Sender: TObject);beginend;Эффект перемещения объекта

Слайд 11Создание обработчиков событий
//удаление отработанного кадра
Метод CopyRect – копирует прямоугольную область

одной графической поверхности на другую.

Canvas1.CopyRect (Rect1, f.Canvas2, Rect2);

Canvas1 – графическая поверхность на которую копируется
Canvas2 – графическая поверхность с которой копируется
Rect2 – область из которой выполняется копирование
Rect1 – область в которую выполняется копирование

Form1.Canvas.CopyRect (Rect(x,y,x+w,y+h),
f.Canvas,
Rect(x,y,x+w,y+h));
Создание обработчиков событий//удаление отработанного кадра Метод CopyRect – копирует прямоугольную область одной графической поверхности на другую.Canvas1.CopyRect (Rect1,

Слайд 12Создание обработчиков событий
procedure TForm1.Timer1Timer(Sender: TObject);
begin
//удаление отработанного кадра
Form1.Canvas.CopyRect(Rect(x,y,x+w,y+h),f.Canvas,Rect(x,y,x+w,y+h));
x:=x-8; //смещение кадра

//обновление координат

после выхода за границу фона
If x<=-w Then x:=Form1.Width;

Form1.Canvas.Draw(x,y,pic); // вывод кадра
end;
Создание обработчиков событийprocedure TForm1.Timer1Timer(Sender: TObject);begin//удаление отработанного кадра Form1.Canvas.CopyRect(Rect(x,y,x+w,y+h),f.Canvas,Rect(x,y,x+w,y+h));x:=x-8; 	//смещение кадра//обновление координат после выхода за границу фонаIf x

Слайд 13Запуск программы
Результаты:
Фон выводится.
Удалось реализовать перемещение кадра.
Недостатки:
Размеры фона и формы не совпадают.
Не

происходит смены кадров в анимации. По форме перемещается только первый кадр.

//установка размеров формы в обработчике события onActivate для Form1

Form1.Width; :=pic.Width;
Form1.Height:=pic.Height;

Запуск программыРезультаты:Фон выводится.Удалось реализовать перемещение кадра.Недостатки:Размеры фона и формы не совпадают.Не происходит смены кадров в анимации. По

Слайд 14Исправление анимации
k:=0

k=7

k:=k+1
k:=1
Да
Нет

k

pic.LoadFromFile(‘kadr1.bmp’)
pic.LoadFromFile(‘kadr7.bmp’)
…….
1
7
Form1.Canvas.Draw(x,y,pic)

Исправление анимацииk:=0k=7k:=k+1k:=1ДаНетkpic.LoadFromFile(‘kadr1.bmp’)pic.LoadFromFile(‘kadr7.bmp’)…….17Form1.Canvas.Draw(x,y,pic)

Слайд 15Благодарю за внимание!

Благодарю за внимание!

Что такое shareslide.ru?

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть