Подтвердить что ты не робот

Как использовать Animated Gif в форме delphi

Я думаю, что нет никакой поддержки для анимированных изображений gif.

Как лучший способ? любой свободный компонент, который позволяет это? Я думал использовать TImage и ImageList + Timer, но мне нужно экспортировать каждый кадр gif в отдельный файл BMP.

4b9b3361

Ответ 1

Это довольно просто в современном Delphi. Все это встроено. Вставьте форму TImage в форму и загрузите анимированный GIF в свойство Picture. Затем запустите анимацию с помощью свойства Animate:

(Image1.Picture.Graphic as TGIFImage).Animate := True;

Вы можете управлять анимацией с помощью AnimateLoop и AnimateSpeed. Должно быть довольно легко угадать, как отключить анимацию снова!

Теперь, поскольку вы используете Delphi 7, у вас нет встроенного компонента TGIFImage. Тем не менее, вы можете загрузить код из сайта Finn Tolderlund (вам нужна последняя версия TGIFImage). С этой версией компонента вышеприведенный код должен работать нормально, хотя я лично его не использовал, так как несколько лет назад я портировал его с D6 на D2010.

Все эти различные коды TGIFImage - это просто версии одного и того же компонента, первоначально написанные Anders Melander, а в 2007 году пожертвовали Embarcadero для включения в Delphi.

Ответ 3

это просто загрузка анимированного gif и не создание

procedure TForm1.FormCreate(Sender: TObject);

begin

  ( Image1.Picture.Graphic as TGIFImage ).Animate := True;// gets it goin'

  ( Image1.Picture.Graphic as TGIFImage ).AnimationSpeed:= 500;// adjust your speed

  Form1.DoubleBuffered := True;// stops flickering

end;

stackoverflow помог мне, и поэтому мой маленький бит в ответ:)