Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi animiertes Gif Problem (https://www.delphipraxis.net/130192-animiertes-gif-problem.html)

thomas2009 4. Mär 2009 23:42


animiertes Gif Problem
 
Hallo

ich habe ein Problem mit gif Bild
Wenn ich das Gif-Bild direkt von einem Ordner lade dann gehlt.
Delphi-Quellcode:
Image1.Picture.LoadFromFile('animation1.gif');
Aber wenn ich das Bild von Resource lade, dann sehe ich keine Animation. das Bild bleibt stehen
Delphi-Quellcode:
var
  Res : TResourceStream;
  Bild : TGIFImage;
begin
  Res := TResourceStream.Create(Hinstance, 'animation1.gif', PChar('BMP'));
  Bild := TGIFImage.Create;
  try
    Bild.LoadFromStream(res);
  finally
    Res.Free;
  end;
  Image1.Picture.Graphic := Bild;
  Bild.Free;

end;

jaenicke 5. Mär 2009 00:37

Re: animiertes Gif Problem
 
Welche TGIFImage Komponente benutzt du denn? Delphi selbst kennt ja bis 2006 keine GIFs. Benutzt du GraphicEx?

alleinherrscher 5. Mär 2009 01:00

Re: animiertes Gif Problem
 
Guck mal nach "TJvGifAnimator", das ist eine Komponente der JEDI VCL, und die kann man sich bekanntlich runterladen und installieren unter: http://sourceforge.net/project/showf...group_id=45786

thomas2009 5. Mär 2009 01:06

Re: animiertes Gif Problem
 
Zitat:

Zitat von jaenicke
Benutzt du GraphicEx?

Ein beispiel ?

thomas2009 5. Mär 2009 01:16

Re: animiertes Gif Problem
 
Zitat:

Zitat von alleinherrscher
Guck mal nach "TJvGifAnimator", das ist eine Komponente der JEDI VCL, und die kann man sich bekanntlich runterladen und installieren unter: http://sourceforge.net/project/showf...group_id=45786

die sind schon installiert, aber wie
ich have versucht ein gif in JvGIFAnimator1, leider bekomme ich immer einen fehler : invalid gif format !

Blup 5. Mär 2009 07:39

Re: animiertes Gif Problem
 
Vermutlich wurde das Bild in der Resource nicht im Gif- sondern im Bmp-Format gespeichert.
Wenn keine Animation gespeichert ist, kann auch keine angezeigt werden.

thomas2009 5. Mär 2009 13:14

Re: animiertes Gif Problem
 
Zitat:

Zitat von Blup
Vermutlich wurde das Bild in der Resource nicht im Gif- sondern im Bmp-Format gespeichert.
Wenn keine Animation gespeichert ist, kann auch keine angezeigt werden.

das spielt keine Rolle ob BMP oder GIF oder eine Zahl sogar. das ist nur eine Adresse so zu sagen
Delphi-Quellcode:
Res := TResourceStream.Create(Hinstance, 'animation1.gif', PChar('BMP'))
// oder
Res := TResourceStream.Create(Hinstance, 'animation1.gif', PChar('GIF'))

DeddyH 5. Mär 2009 13:15

Re: animiertes Gif Problem
 
Es geht darum, in welchem Format die Grafik in der Ressource vorhanden ist. Es scheint kein GIF zu sein, daher die Fehlermeldung.

thomas2009 5. Mär 2009 13:22

Re: animiertes Gif Problem
 
Zitat:

Zitat von DeddyH
Es geht darum, in welchem Format die Grafik in der Ressource vorhanden ist. Es scheint kein GIF zu sein, daher die Fehlermeldung.

Das Bild in Ressource ist natürlich ein animiertes Gif (vorher getestet mit Internet Explorer)
Es erscheint keine Fehlermeldung. Das Bild wird zwar von Ressource geladen aber bleibt stehen als das Bild nur aus einem bild besteht.

DeddyH 5. Mär 2009 13:26

Re: animiertes Gif Problem
 
Hast Du es mal aus der Ressource extrahiert und ausprobiert?

jaenicke 5. Mär 2009 13:51

Re: animiertes Gif Problem
 
Zitat:

Zitat von thomas2009
Zitat:

Zitat von jaenicke
Benutzt du GraphicEx?

Ein beispiel ?

Daraus schließe ich einmal, dass du die Delphi 2007 oder 2009 und die integrierte Lösung, also die Unit GifImg benutzt.

Da kannst du animierte GIFs so aktivieren:
Delphi-Quellcode:
GIFImageDefaultAnimate := True;
Und Transparenz ginge so:
Delphi-Quellcode:
GIFImageDefaultTransparent := True;

thomas2009 5. Mär 2009 14:08

Re: animiertes Gif Problem
 
wo can ich die Unit GifImg downloaden ?
oder meinst du die unit von melander ?

jaenicke 5. Mär 2009 14:22

Re: animiertes Gif Problem
 
Dann beantworte doch mal die Frage... :?
Zitat:

Zitat von jaenicke
Welche TGIFImage Komponente benutzt du denn? Delphi selbst kennt ja bis 2006 keine GIFs. Benutzt du GraphicEx?

Du benutzt ein TGIFImage und ich kann ja nicht wissen wo das herkommt. Und du hast auch weder im Profil angegeben noch geschrieben welche Delphiversion du hast.

Ab Delphi 2007 ist bei Delphi die Unit GifImg mitgeliefert, die auf die eben genannte Weise auch animierte GIFs unterstützt.

Wenn du diese Komponente benutzt, dann kann die direkt animierte GIFs. Da gibt es für das Laden aus Ressourcen / Streams ja auch ein Beispiel:
Delphi-Quellcode:
  Gif := TGifImage.Create;
  try
    Gif.LoadFromStream(ResStream);
    Image.Picture.Assign(nil);
    Image.Picture.Assign(Gif);
  finally
    ResStream.Free;
    Gif.Free;
  end;

thomas2009 5. Mär 2009 14:48

Re: animiertes Gif Problem
 
Ja ich verwende diese Komponente in D7 pro
Das Gif Bild besteht aus 2 Bilder
beim Aufruf wird das 1. Bild angezeigt und dann nach eine Sekunde das 2. Bild aber danach bleibt das Bild stehen
In der Tat das Bild bleibt nicht stehen sondern mit Animation. man sieht aber das nicht

Das Problem das Image kopiert die Bilder über einander, darum sehen wir keine wiederholte Animation


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz