LVGL

Mit dem LVGL-Widget für animierte Bilder arbeiten

So funktioniert das LVGL-Widget für animierte Bilder: Lade eine Sequenz gleich großer Frames hoch, stelle Dauer und Schleife ein, und spiele Frame-für-Frame-Animationen auf deinem Display ab.

ED Ed
lvgl animated-image animimg animation frames picopixel
AKTUALISIERT 2026-05-29
01 /10

Überblick

Das Widget für animierte Bilder ist der einfachste Weg, Bewegung auf deinen Bildschirm zu bringen – ein drehender Ladekreis, ein hüpfendes Symbol, ein blinkendes Auge. Diese Anleitung erklärt, wie das LVGL-Widget für animierte Bilder in PicoPixel funktioniert: wie du eines hinzufügst, warum jedes Frame die gleiche Größe haben muss, wie du Geschwindigkeit und Schleifen steuerst und wie du es starten und stoppen kannst, während deine Oberfläche läuft.

02 /10

Was ist das Widget für animierte Bilder?

Ein animiertes Bild spielt eine Folge von Standbildern nacheinander ab, wie ein Daumenkino. Jedes Bild ist ein Frame, und das schnelle Durchblättern erzeugt die Illusion von Bewegung. Du gibst ihm eine Reihe von Frames, sagst ihm, wie schnell es abspielen soll und ob es in einer Schleife laufen soll, und es erledigt den Rest.

Es ist perfekt für eine einzelne, sich wiederholende Animation: ein Ladespinner, ein pulsierendes Herz, eine winkende Hand. Ein Widget, eine Sequenz, in einer Schleife laufend.

NOTE

Im Hintergrund handelt es sich um LVGLs lv_animimg-Widget. Wenn du dein Projekt exportierst, schreibt PicoPixel den LVGL-Code für dich (lv_animimg_create, lv_animimg_set_src, lv_animimg_set_duration usw.) – du musst ihn nie anfassen. Es zielt auf LVGL 8.x ab.

03 /10

Animiertes Bild vs. Sprite – was soll ich verwenden?

Diese beiden Widgets sehen ähnlich aus, lösen aber unterschiedliche Probleme:

  • Animiertes Bildeine Animation, die in einer Schleife läuft. Greife darauf zurück, wenn deine Grafik immer nur eine Sache tut, wie ein Spinner, der dreht.
  • Spritemehrere Animationen in einem Widget, mit der Möglichkeit, zwischen ihnen zu wechseln (Idle, Running, Happy…). Greife darauf zurück, wenn deine Grafik mehr als einen Modus benötigt.

Tatsächlich besteht ein Sprite aus animierten Bildern – jeder seiner Modi ist im Hintergrund sein eigenes animiertes Bild. Wenn du also feststellst, dass du eine zweite Animation haben möchtest, zu der du wechseln kannst, ist das dein Zeichen, stattdessen einen Sprite zu verwenden.

04 /10

Ein animiertes Bild hinzufügen und Frames hochladen

  1. Füge das Animated Image-Widget zu deinem Bildschirm hinzu.
  2. Suche in seinen Eigenschaften die Zeile Image Set und klicke auf Add Image Set.
  3. Klicke auf der Registerkarte NEW auf den Upload-Bereich („Click to upload frames") und wähle deine Bilder aus. Du kannst viele auf einmal auswählen; die Formate sind PNG und JPEG (.png, .jpeg, .jpg).
  4. Klicke auf Continue, um die Frames mit dem Widget zu verknüpfen. Die Image Set-Zeile zeigt dann an, wie viele Frames du hast (zum Beispiel „8 frames").

Du kannst auch einen bereits verwendeten Frame-Satz aus der Registerkarte Assets auswählen, anstatt ihn erneut hochzuladen.

The PicoPixel editor showing an animated image widget with a 9-frame Nyan Cat sprite loaded, the frame filmstrip along the bottom, and the widget properties panel on the right displaying the image set, repeat, duration, and playback settings
▸ Ein animiertes Bild mit geladenen Frames und konfigurierten Eigenschaften: 9 Frames, 1000 ms Dauer, unendliche Wiederholung, wird abgespielt.
TIP

Frames werden alphabetisch nach Dateiname sortiert. Benenne sie also in Reihenfolge mit führenden Nullen: frame_01.png, frame_02.png, frame_03.png, um sicherzustellen, dass sie in der richtigen Reihenfolge abgespielt werden. Ein Name wie frame_2.png würde nach frame_10.png sortiert werden, was deine Animation durcheinanderbringt.

NOTE

Ein animiertes Bild benötigt mindestens 2 Frames, und du kannst bis zu 32 hinzufügen. Wenn du mehr Bewegung benötigst, erwäge weniger, aber gut gewählte Keyframes – jeder Frame wird auf dem Gerät gespeichert.

05 /10

Warum alle Frames die gleiche Größe haben müssen

Das ist die eine Regel, die du dir merken musst: Jeder Frame muss exakt die gleiche Breite und Höhe haben. Wenn du versuchst, Frames unterschiedlicher Größe hinzuzufügen, stoppt PicoPixel dich mit der Meldung „All frames must have the same dimensions."

Der Grund ist einfach. Das Widget zeichnet jeden Frame an der gleichen Stelle, in der gleichen Box. Wenn Frame 1 64×64 und Frame 2 80×80 ist, würde das Bild während der Wiedergabe springen und verschieben, anstatt flüssig an Ort und Stelle zu animieren. Dass alle Frames in der Größe identisch sind, macht die Bewegung sauber aussehen.

WARNING

Ändere die Größe deiner Frames vor dem Hochladen. Der schnellste Weg zu einer sauberen Sequenz ist, jeden Frame vom gleichen Canvas in deinem Bildbearbeitungsprogramm zu exportieren, sodass sie garantiert die gleichen Abmessungen haben.

06 /10

Die Geschwindigkeit einstellen: Dauer

Die Einstellung Duration steuert, wie schnell die Animation abgespielt wird. Sie wird in Millisekunden (ms) gemessen und stellt die Zeit für einen vollständigen Durchgang durch alle Frames dar – nicht die Zeit pro Frame. Der Standardwert ist 1000 ms (eine Sekunde).

PicoPixel teilt diese Dauer gleichmäßig auf deine Frames auf. Eine Dauer von 1000 ms auf 8 Frames verteilt bedeutet also, dass jeder Frame für 125 ms angezeigt wird. Willst du es schneller? Verringere die Dauer. Langsamer und entspannter? Erhöhe sie.

07 /10

Schleifen: einmal abspielen oder für immer laufen

Die Einstellung Repeat bestimmt, was passiert, wenn die Animation das Ende erreicht. Du hast zwei Möglichkeiten:

  • Infinite – die Animation läuft für immer in einer Schleife. Das ist der Standard und was du für Dinge wie einen Spinner möchtest, der nie aufhören soll.
  • Normal (eine Anzahl) – die Animation spielt eine festgelegte Anzahl von Malen ab und stoppt dann. Setze es auf 3 und es läuft dreimal, dann hält es beim letzten Frame an.
08 /10

Wiedergabe steuern, während deine Benutzeroberfläche läuft

Du musst eine Animation nicht automatisch ablaufen lassen: Du kannst sie als Reaktion auf das, was der Benutzer tut, starten und stoppen, indem du den Event-Editor verwendest. Füge einen Event hinzu, wähle die Animated Image Mode-Aktion, zeige auf dein animiertes Bild und wähle einen Modus:

  • Start – Abspielen beginnen (oder fortsetzen).
  • Stop – die Animation pausieren.
  • Restart – zum ersten Frame zurückspringen und erneut abspielen.

Zum Beispiel: Halte einen „Verbinde..."-Spinner angehalten, bis ein Button gedrückt wird, dann starte ihn und stoppe ihn, sobald die Aufgabe abgeschlossen ist.

09 /10

Speicher schonen

Animationen sind nur Bilder, und Bilder nehmen auf einem kleinen Gerät Platz ein. Ein paar Gewohnheiten halten die Dinge effizient:

  • Verwende nur die Frames, die du brauchst. Flüssige Bewegung braucht selten mehr als eine Handvoll gut gewählter Frames.
  • Halte die Frame-Abmessungen bescheiden. Eine 64×64-Animation ist viel leichter als eine 240×240-Animation.
  • Passe deine Farbtiefe an das Display an (sieh dir das ESP32-Tutorial für mehr Informationen zum Erstellen für echte Hardware an).
TIP

Wenn du in Firmware exportierst, benötigt das animierte Bild LV_USE_ANIMIMG in deiner lv_conf.h aktiviert. PicoPixel vermerkt dies für dich in der exportierten README.md, sodass dein Build (oder dein KI-Assistent) genau weiß, was aktiviert werden muss.

10 /10

Nächste Schritte

  • Brauchst du mehr als eine Animation in einem einzelnen Widget? Wechsle zum Sprite-Widget.
  • Verknüpfe deine Animation mit einem Button oder einem anderen Auslöser mit dem Event-Editor.
  • Bringe deine fertige Benutzeroberfläche auf ein Gerät mit dem ESP32-LVGL-Tutorial.
WEITERLESEN

Weiter gehts.

So verwendest du Pets in PicoPixel thumbnail
PICOPIXEL

So verwendest du Pets in PicoPixel

Pets sind fertige, animierte Sprites mit mehreren Modi, die du bei jeder Bedingung auslösen kannst. Hol dir eines aus dem Verzeichnis, füge es deinem Projekt hinzu und verbinde es so, dass es auf alles reagiert, was dein Gerät gerade macht: Daten abrufen, überhitzen, Code reviewen – was auch immer.

pets · sprites · picopixel
So verwendest du PicoPixel-Vorlagen, UI-Kits und vollständige Apps thumbnail
PICOPIXEL

So verwendest du PicoPixel-Vorlagen, UI-Kits und vollständige Apps

Finde PicoPixel-Vorlagen, UI-Kits, Beispiele, Sprites, Widgets und vollständige App-Dateien, öffne, lade, importiere, passe sie an und exportiere sie als LVGL-C-Code für dein Gerät.

templates · ui-kits · full-apps
Was ist ein Sprite? thumbnail
PICOPIXEL

Was ist ein Sprite?

Lerne, was Sprites sind, wie du mehrzuständige animierte Widgets erstellst und wie du sie projektübergreifend wiederverwenden kannst.

sprite · picopixel