Hallo,
ich habe mehrere animierte GIFs, die ich einerseits als ImageIcon in einem JLabel und andererseits (teilweise) noch zusätzlich via drawImage auf einem JPanel gezeichnet darstelle.
Das funktioniert soweit auch super, die Animationen laufen problemlos und richtig.
Nun habe ich ein zusätzliches GIF eingebaut und das verhält sich irgendwie... seltsam. Es flackert, das Bild ist teilweise abgeschnitten etc...
Öffne ich es mit einem GIF-Editor kann ich keinen Unterschied zu einem "normalen" animierten GIF feststellen. Lasse ich mir aber von Java die einzelnen Frames z.B. in ein PDF ausgeben, wird mir auch klar, warum sich das GIF so seltsam verhält.
Im PDF habe ich am Ende nämlich nicht lauter nette Frames, die sich eben in ein paar Pixeln unterscheiden, sondern anscheinend ganz am Anfang mal das Grundbild und in den folgenden Frames nur die Änderungen - ohne Grundbild. Legt man Grundbild + Änderung übereinander, hat man den "richtigen" Frame.
Wenn ich das GIF aber z.B. im Browser öffne, verhält es sich normal.
Leider kenne ich mich mit animierten GIFs jetzt auch nicht so gut aus, dass ich sofort sagen könnte, woran das liegt. Das Problem, das noch dazukommt, ist, dass ich auf das GIF eigentlich keinen Einfluss habe. Das liegt auf einem Server und ich lade es nur.
Ich könnte mir z.B. vorstellen, dass es in einer GIF-Datei ein Flag gibt, welches dem Programm sagt "lösch nicht immer das ganze Bild sondern zeichne den ersten Frame und leg dann der Reihe nach die anderen darüber" und das in Java einfach nicht so funktioniert.
Weiß hier jemand Rat? Das PDF mit den Frames wie Java sie sieht habe ich mal angehängt. Im richtigen GIF sollte das eigentlich einfach mehr oder weniger ein Lauflicht von rechts nach links darstellen.
ich habe mehrere animierte GIFs, die ich einerseits als ImageIcon in einem JLabel und andererseits (teilweise) noch zusätzlich via drawImage auf einem JPanel gezeichnet darstelle.
Das funktioniert soweit auch super, die Animationen laufen problemlos und richtig.
Nun habe ich ein zusätzliches GIF eingebaut und das verhält sich irgendwie... seltsam. Es flackert, das Bild ist teilweise abgeschnitten etc...
Öffne ich es mit einem GIF-Editor kann ich keinen Unterschied zu einem "normalen" animierten GIF feststellen. Lasse ich mir aber von Java die einzelnen Frames z.B. in ein PDF ausgeben, wird mir auch klar, warum sich das GIF so seltsam verhält.
Im PDF habe ich am Ende nämlich nicht lauter nette Frames, die sich eben in ein paar Pixeln unterscheiden, sondern anscheinend ganz am Anfang mal das Grundbild und in den folgenden Frames nur die Änderungen - ohne Grundbild. Legt man Grundbild + Änderung übereinander, hat man den "richtigen" Frame.
Wenn ich das GIF aber z.B. im Browser öffne, verhält es sich normal.
Leider kenne ich mich mit animierten GIFs jetzt auch nicht so gut aus, dass ich sofort sagen könnte, woran das liegt. Das Problem, das noch dazukommt, ist, dass ich auf das GIF eigentlich keinen Einfluss habe. Das liegt auf einem Server und ich lade es nur.
Ich könnte mir z.B. vorstellen, dass es in einer GIF-Datei ein Flag gibt, welches dem Programm sagt "lösch nicht immer das ganze Bild sondern zeichne den ersten Frame und leg dann der Reihe nach die anderen darüber" und das in Java einfach nicht so funktioniert.
Weiß hier jemand Rat? Das PDF mit den Frames wie Java sie sieht habe ich mal angehängt. Im richtigen GIF sollte das eigentlich einfach mehr oder weniger ein Lauflicht von rechts nach links darstellen.