|
Вопрос # 1 483/ вопрос открыт / |
|
Здравствуйте увожаемые эксперты!
У меня к вам такой вопрос?
Снизу написан код вывода аннимации(Bitmap)
на форму.
Как мне сделать так, чтобы выводилась
не одна аннимация на форме, а две или лучше три.
Но так чтобы поле вывода было в разных местах
на форме, чтобы я указал сам координаты каждого
поля отдельно, т.е одна допустим в правом верхнем угпу,
другая в левом верхнем углу, а третья в левом нижнем,
и все три должны работать одновременно.
Если это возможно, то огромное вам спасибо за помощь.
Может я сформулировл вопрос не сильно понятно,
ещё раз в кратче:
Мне нужно чтобы три разных аннимации были на форме
одновременно.
И ещё вопрос? Можно Canvas формы загрузить рисунком JPG.
Ещё раз спасибо.
Приложение: Переключить в обычный режим- const
-
-
- var
-
-
-
-
-
- procedure TForm1.FormCreate(Sender: TObject);
- begin
-
-
- WKadr := Round(Film.Width/N_Kadr);
- HKadr := Film.Height;
-
-
- Ckadr:=0;
-
-
- 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;
-
- end.
 |
Вопрос задал: Толков Геннадий Викторович (статус: Посетитель)
Вопрос отправлен: 8 апреля 2008, 00:10
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: min@y™
Привет!
Написал я тебе пример (см. в прицепе).
в примере - класс TAnimation, который всё делает как надо.
Скомпили исходник, посмотри, как работает. Потом глянь код и всё поймёшь. К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 8 апреля 2008, 09:32
Оценка за ответ: 5
|
Ответ #2. Отвечает эксперт: Feniks
Здравствуйте, Толков Геннадий Викторович!
Делайте все через потоки. Эту тему уже обсуждали. Не буду повторяться. Поищите поиском на портале потоки TThread. По потокам были хорошие примеры. Еще в самом Делфи есть пример по алгоритмам сортировке. Он построен на потоках. Кажется назывался Tthreads.
Работа с JPEG тоже неоднократно рассматривалась. Например, вопрос #1434.
Желаю удачи.
 |
Ответ отправил: Feniks (статус: Бакалавр)
Время отправки: 9 апреля 2008, 15:09
Оценка за ответ: 4
|
Мини-форум вопроса
Всего сообщений: 3; последнее сообщение — 9 апреля 2008, 08:20; участников в обсуждении: 3.
|
Плюмаж (статус: Посетитель), 8 апреля 2008, 01:34 [#1]:
Можно сделать отдельный модуль, в котором описан класс анимации.
Например, каждый экземпляр класса имеет свойство ИмяФайла и ЧислоКадров, Форма, КоординатыНаФорме и т.п..
При инициализации модуля, создайте свой собственный таймер, у которого на OnTimer будет вызов для каждого экземпляра класса Анимация процедуры показа следующего кадра.
Каждый экземпляр Анимации, при создании, регистрируется в списке (который таймер и просматривает), а при уничтожении - удаляется из списка.
P.S. Впрочем, подождите пару дней - более опытные эксперты подскажут Вам наиболее простое решение.
|
|
Аксион (статус: 4-ый класс), 8 апреля 2008, 13:49 [#2]:
min@y™ а как можно сделать что бы фон в анимации был прозрачным (ну и полупрозрачным) ?
|
|
min@y™ (статус: Доктор наук), 9 апреля 2008, 08:20 [#3]:
Цитата:
а как можно сделать что бы фон в анимации был прозрачным
На DelphiWorld дофига примеров. Заюзай там поиск или могу тебе прислать по мылу примеры.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|