Seite 1 von 1

Animiertes GIF laden und speichern

Verfasst: 06.11.2008 21:04
von Dare Devil
Hallo,
versuche schon die ganze Zeit ein animiertes GIF in PB zu laden... Ich will die einzelnen Frames des GIFs in separate Image-Objekte laden, um sie dann z.B. mit SaveImage() in eine BMP speichern zu koennen... Umgekehrt will ich auch einzelne BMPs als animiertes GIF abspeichern koennen...

Geht das irgendwie mit der WinAPI? Hab im Internet die ganze Zeit danach gesucht aber nichts (anstaendiges) gefunden...

Oder kann man eine Lib dafuer verwenden?


Jede Loesung is mir recht, hauptsache es funktioniert endlich...

Verfasst: 06.11.2008 21:11
von Kaeru Gaman
du kannst es über die Movie-Lib probieren..

damit kannst du meines wissens animierte gifs abspielen.
schau dir RenderMovieFrame an, damit kannst du frameweise in ein Sprite oder Image rendern...

ansonsten müßtest du dir die Beschreibung vom gif-algorithmus suchen und dir den decoder selber stricken.

also animierte gifs sind eigentlich nicht so sehr das standard-format für nicht-web oberflächen.

wenn sichs vermeiden läßt, schlepp deine ressourcen gleich auf ne andere weise mit.

... und wenns dir nur darum geht, irgendeine animierte gif auseinander zu pflücken,
frag mal google nach AniMake, damit kannst du das machen und brauchst dir keinen wolf coden.

Verfasst: 06.11.2008 21:42
von Dare Devil
Kaeru Gaman hat geschrieben:du kannst es über die Movie-Lib probieren..

damit kannst du meines wissens animierte gifs abspielen.
schau dir RenderMovieFrame an, damit kannst du frameweise in ein Sprite oder Image rendern...

ansonsten müßtest du dir die Beschreibung vom gif-algorithmus suchen und dir den decoder selber stricken.

also animierte gifs sind eigentlich nicht so sehr das standard-format für nicht-web oberflächen.

wenn sichs vermeiden läßt, schlepp deine ressourcen gleich auf ne andere weise mit.

... und wenns dir nur darum geht, irgendeine animierte gif auseinander zu pflücken,
frag mal google nach AniMake, damit kannst du das machen und brauchst dir keinen wolf coden.

Zwar kann man mit der Movie-Lib GIF's abspielen, jedoch funktioniert der Befehl RenderMovieFrame fuer die GIFs nicht... leider...

ja eben... bei "AniMake" sieht man ja mal, dass es irgendwie moeglich sein muss, GIFs su "auseinander zu pfluecken"...

Verfasst: 06.11.2008 21:47
von Kaeru Gaman
natürlich ist es möglich, denn z.b. das Webgadget kann es ja auch darstellen,
und die MovieLib ja auch.
nur sind diese Elemente eben darauf ausgelegt, die gesamte Animation zu zeigen
und nicht um Zugriff auf die Einzelframes zu gewähren.

Verfasst: 06.11.2008 22:56
von Dare Devil
Im "Tipps und Tricks"-Bereich des englischen Forums gibt es die Loesung zu meinem Problem:
An dieser Stelle moechte ich mich bei einem hilfsbereitem Chatter im PB-IRC bedanken

http://www.purebasic.fr/english/viewtopic.php?t=27575


:allright:


Mit LoadGifFrames() kann man dann die einzelnen frames laden....


aber fuer das speichern eines GIFs habe ich immer noch keine Loesung...

Verfasst: 06.11.2008 23:41
von Kaeru Gaman
oy!

yo das ist echt ne latte.... und localmotions kommentar ist auch absolut passend:
Nightmare does not describe the Animated GIF format accurately. Living Hell better describes it.

... was willst du denn eigentlich bauen?

Verfasst: 07.11.2008 16:20
von KatSeiko
Das Problem ist eigentlich, dass GIF kein freies Format ist. Damit herumzuhantieren erfordert ansich Lizenzgebühren...

Verfasst: 07.11.2008 19:27
von Xaby
KatSeiko hat geschrieben: Das Problem ist eigentlich, dass GIF kein freies Format ist. Damit herumzuhantieren erfordert ansich Lizenzgebühren...
Das hatte schon unser Informatiklehrer vor 10 Jahren gesagt und ich habe
nie verstanden, was er damit eigentlich sagen wollte.

JPEG soll ja auch nicht wirklich frei sein und es gibt wohl immer noch
irgendwelchen Rechtsstreits darum, dass die Leute, die JPEG-Decoder einfach
so basteln auch Gebühren zahlen sollen.

@Dare Devil
Was kann GIF, was AVI nicht kann?

Die meisten Programme unterstützen heute auch AVI-Dateiein.
Die kannste sogar selbst erstellen ohne große Kenntnisse.

Nimmste unkomprimierte BMPs und fügst die mit einigen EndFrame-Bytes
aneinander und dann haste schon ne Videodatei.
Die Header von RIFF-Dateien sind auch sehr einfach gehalten.

Also wenn du ein Transport / Export-Format benötigst.

Ansonsten kannste dir auch was eigenes zusammen schustern,
oder eine externe LIB nutzen.

Fragste am besten mal:

Pixtix-Erschaffer Jilocasin
http://www.purebasic.fr/german/viewtopi ... ght=pixtix
oder
PureGraphicShop-Erfinder Franky
http://www.purebasic.fr/german/viewtopi ... ght=pixtix

:roll:

Verfasst: 08.11.2008 14:10
von Dare Devil
Hallo.
Das wusste ich nicht. Also wenn ich jetzt ein Programm dafuer schreibe, fallen tatsaechlich Linzenzgebuehren an?

Vielleicht sollte ich euch von meinem Vorhaben erzaehlen (dann kann ich auch gleich Kaeru's Frage beantworten). Ich arbeite an einer Art "Sprite Creator" (genauen namen habe ich noch nicht), mit dem man Sprites aus diversen Quellmaterialien "rippen" kann - dazu gehoeren eben auch GIFs - weil diese im Internet weit verbreitet sind ...

Verfasst: 09.11.2008 04:59
von Sven
Das Lizenz-Problem ist inzwischen vom Tisch, würde ich sagen.
Das US-Patent ist am 20. Juni 2003 abgelaufen; im Vereinigten Königreich, Frankreich, Deutschland und Italien galt das Patent bis zum 18. Juni 2004, in Japan bis zum 20. Juni 2004 und in Kanada bis zum 7. Juli 2004.