Gif Animation

Status
Nicht offen für weitere Antworten.

Titanpharao

Bekanntes Mitglied
Hallo,

ich habe ein einfaches Problem.

Ich setzte auf ein Label eine gif Animation. Diese dauert sagen wir 500ms. Direkt nach dem setzten sage ich Thread.sleep(500); und dannach lösche ich das Bild wieder vom Label.

Das geht auch...nur die Animation wird im Vergleich zum Internet Explorer viel zu schnell abgespielt. Würde locker sagen um Faktor 5. Woran liegt das? Ist mein PC zu schnell, oder muss ich einfach 5x langsammere Animation nehmen?
 

quippy

Bekanntes Mitglied
Vielleicht hilft das hier? clicky

Dort verwenden sie den ImageObserver:
Code:
public class Applet1 extends Applet
{
  private Image m_image=null;
  public void init()
  {
    m_image=getImage(getDocumentBase(), "images/clock.gif");
  }

  public void paint(Graphics g)
  {
    g.drawImage(m_image,0,0,this); 
  }

  public boolean imageUpdate( Image img, int flags, int x, int y, 
    int w, int h ) 
  {
    System.out.println("Image update: flags="+flags+
      " x="+x+" y="+y+" w="+w+" h="+h);
    repaint();
    return true;
  }
}

Damit könntest Du ja mal gucken, was da so passiert. Es ist ja möglich, daß dein Animated Gif keine wirkliche Zeitangabe pro Frame hat...

Bei diesem Link steht noch mehr. Dort steht zudem ein "int ms = imageData.delayTime * 10;", also zehnfacher Delay...

Die Google-Suche hat noch andere möglicherweise interessante Quellen geliefert.
 

quippy

Bekanntes Mitglied
Habe ich auch bemerkt - aber schau mal auf das zweite Beispiel aus meinem Post. Es ist zwar sehr umfangreich, aber u.U. enthällt es interessante Denkansätze für Dich. Leider habe ich keine andere Lösung parat, denn sonst wird immmer behauptet, daß Java mit Animated Gifs umgehen können soll.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben