Читайте также: |
|
Постановка задачи. Создайте программу для показа кадров баннера, чтобы получился мультфильм (рис. 51).
Рис. 51. Мультфильм «Танцующий пират»
Реализация. Создайте несколько рисунков (в данном примере шесть), отличающихся друг от друга, как в мультфильмах. Сохраните их в одном bmp -файле (рисунки следуют один за другим по горизонтали, как показано на рис. 52).
Рис. 52. Баннер для мультфильма
Положите на форму таймер и кнопку для запуска. Ниже полностью приведен код всех процедур программы.
const
filmfile = 'Пираты1.bmp';
n_kadr = 6;
var
film: TBitMap;
wkadr, hkadr, ckadr: integer;
rectkadr, rectscr: TRect;
procedure TForm1.FormCreate(Sender: TObject);
begin
film:= TBitMap.Create;
film.LoadFromFile(filmfile);
wkadr:= round(film.Width / n_kadr);
hkadr:= film.Height;
film.Transparent:= true;
film.TransparentColor:=film.Canvas.Pixels[1,1];
rectscr:= bounds(100, 100, wkadr, hkadr);
ckadr:= 0;
Timer1.Interval:= 150;
Timer1.Enabled:= false;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
rectkadr:= bounds(wkadr*ckadr, 0, wkadr, hkadr);
Form1.Canvas.CopyRect(rectscr, film.Canvas, rectkadr);
ckadr:= ckadr + 1;
if ckadr = n_kadr then
ckadr:= 0;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
timer1.Enabled:= true;
end;
Дата добавления: 2015-08-20; просмотров: 32 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Просмотр видеофильма с использованием | | | Обработка ошибок времени выполнения программы |