Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Gif-анимация, с использованием компонента gifimaged7c 
V
    Опции темы
DelphianOracle
Дата 20.11.2007, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



Сделал я анимацию с помощью этого самого gifimaged7c. Но появилась проблема - при движении Image по другому рисунку прозрачность первого сильно тормозит - показывается то, что было на этом месте секунды 2 назад.
doublebufered на true поставил - не помогает ни капли.
что делать?
PM MAIL   Вверх
Alexeis
Дата 20.11.2007, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



DelphianOracle, советую посадить имагу на панельку и перемещать панель, а не TImage.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
DelphianOracle
Дата 21.11.2007, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



А как быть тогда с прозрачностью?
ведь панелька непрозрачна?
PM MAIL   Вверх
Alexeis
Дата 21.11.2007, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



  А ну да. Тогда остается забить на перемещение самого TImage и каждый раз рисовать содержимое gifimage на нижнем рисунке при перемещении.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
DelphianOracle
Дата 21.11.2007, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



пробовал, но  smile и smile 
 smile 
PM MAIL   Вверх
Alexeis
Дата 21.11.2007, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Че не так
1) Достаем фон из битмапки
2) Рисуем его на имаге
3) вычисляем положение верхней картинки
4) Рисуем ее на имаге
5) Радуемся smile 

Что конкретно не получается?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
DelphianOracle
Дата 21.11.2007, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



Код

   fscreen.Canvas.Draw(0,0,fon.Picture.Graphic);
   inc(a,10);
   fscreen.Canvas.Draw(a,0,image1.Picture.Graphic);

та же проблема... smile 
PM MAIL   Вверх
Alexeis
Дата 21.11.2007, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Тогда последний шаг. Рисуем все не на имаге, а на битмапке, а битмапку уже рисуем на канве контрола в OnPaint.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
DelphianOracle
Дата 21.11.2007, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



Цитата(Alexeis @  21.11.2007,  15:27 Найти цитируемый пост)
Рисуем все не на имаге, а на битмапке, а битмапку уже рисуем на канве контрола в OnPaint.

что за битмапка и как на ней рисовать?
PM MAIL   Вверх
Alexeis
Дата 21.11.2007, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Цитата(DelphianOracle @  21.11.2007,  15:37 Найти цитируемый пост)
что за битмапка и как на ней рисовать? 

класс TBitmap у него есть канва Canvas. По сути невидимая канва.

Добавлено через 22 секунды
Наследник TGraphic


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
DelphianOracle
Дата 21.11.2007, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



Код

procedure TForm1.Timer1Timer(Sender: TObject);
begin
   fscreen.Picture.Bitmap.Canvas.Draw(0,0,fon.Picture.Graphic);
   inc(a,5);
   fscreen.Picture.Bitmap.Canvas.Draw(a,0,image1.Picture.Graphic);
end;

procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
   paintbox1.Canvas.Draw(0,0,TGraphic(fscreen.Picture.Bitmap));
end;


ничего не рисует... :( что не так? 
PM MAIL   Вверх
VICTAR
Дата 22.11.2007, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

Репутация: 2
Всего: 80



Код

procedure TForm1.Timer1Timer(Sender: TObject);
begin
   fscreen.Picture.Bitmap.Canvas.Draw(0,0,fon.Picture.Graphic);
   inc(a,5);
   fscreen.Picture.Bitmap.Canvas.Draw(a,0,image1.Picture.Graphic);
   PaintBox1.Refresh;
end;

PM MAIL   Вверх
DelphianOracle
Дата 25.11.2007, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



Не помогло :(. пришлось обходиться без Gif анимации...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0549 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.