LVGL

Werken met de LVGL Animated Image-widget

Upload een beeldreeks met gelijke frameafmetingen, stel de afspeelduur en herhaling in en laat je interface de animatie starten of stoppen.

EDEd
lvglanimated-imageanimimganimationframespicopixel
BIJGEWERKT2026-05-29
01/10

Overzicht

De Animated Image-widget is de eenvoudigste manier om beweging op je scherm te zetten: een draaiende laadindicator, een stuiterend icoon, een knipperend oog. Deze gids legt uit hoe de LVGL Animated Image-widget in PicoPixel werkt: hoe je er een toevoegt, waarom elk frame dezelfde grootte moet hebben, hoe je snelheid en herhaling instelt en hoe je hem start en stopt terwijl je interface draait.

02/10

Wat is de Animated Image-widget?

Een Animated Image speelt een reeks stilstaande beelden na elkaar af, als een flipbook. Elk beeld is een frame, en snel door de frames gaan wekt de illusie van beweging. Je kiest de frames, stelt de afspeelduur in en bepaalt of de animatie zich herhaalt.

Deze widget is geschikt voor één herhalende animatie, zoals een laadindicator, kloppend hart of zwaaiende hand.

NOTE

De widget gebruikt lv_animimg van LVGL 8.x. Bij het exporteren genereert PicoPixel de benodigde aanroepen, zoals lv_animimg_create, lv_animimg_set_src en lv_animimg_set_duration. Je hoeft die niet zelf te schrijven.

03/10

Animated image of sprite - welke gebruik ik?

Deze twee widgets lijken op elkaar, maar lossen verschillende problemen op:

  • Animated image, één animatie die loopt. Kies dit wanneer je afbeelding maar één ding doet, zoals een spinner die draait.
  • Sprite, meerdere animaties in één widget, met de mogelijkheid ertussen te wisselen (Idle, Running, Happy…). Kies dit wanneer je afbeelding meer dan één mode nodig heeft.

Een sprite combineert meerdere Animated Images, één per toestand. Wil je tussen twee of meer animaties kunnen wisselen, gebruik dan een sprite.

04/10

Een Animated Image toevoegen en frames uploaden

  1. Voeg de Animated Image-widget toe aan je scherm.
  2. Zoek bij de eigenschappen de rij Image Set en klik op Add Image Set.
  3. Klik op de NEW-tab op het uploadgebied ("Click to upload frames") en selecteer je afbeeldingen. Je kunt er veel tegelijk kiezen; de formaten zijn PNG en JPEG (.png, .jpeg, .jpg).
  4. Klik op Continue om de frames aan de widget te koppelen. De Image Set-rij toont nu hoeveel frames je hebt, bijvoorbeeld "8 frames".

Je kunt ook een eerder gebruikte beeldreeks kiezen op het tabblad Assets in plaats van opnieuw te uploaden.

De PicoPixel-editor met een Animated Image-widget waarin een 9-frame Nyan Cat-sprite is geladen, het frameoverzicht onderaan en rechts de eigenschappen voor de beeldreeks, herhaling, afspeelduur en afspeelstand
▸ Een Animated Image met negen frames en een totale afspeelduur van 1000 ms, ingesteld op eindeloos herhalen.
TIP

Frames worden alfabetisch op bestandsnaam geordend, dus geef ze namen in volgorde met voorloopnullen, frame_01.png, frame_02.png, frame_03.png, om te garanderen dat ze goed afspelen. Een naam als frame_2.png sorteert na frame_10.png, wat je animatie door elkaar haalt.

NOTE

Een Animated Image heeft minstens 2 frames nodig, en je kunt er maximaal 32 toevoegen. Heb je meer beweging nodig, overweeg dan minder, goed gekozen keyframes; elk frame wordt op het apparaat opgeslagen.

05/10

Waarom alle frames dezelfde grootte moeten hebben

Dit is de regel om te onthouden: elk frame moet exact dezelfde breedte en hoogte hebben. Bij verschillende frameafmetingen toont PicoPixel de melding "All frames must have the same dimensions."

De reden is simpel. De widget tekent elk frame op dezelfde plek, in dezelfde box. Als frame 1 64×64 is en frame 2 80×80, springt en verschuift het beeld tijdens het afspelen in plaats van netjes op zijn plaats te animeren. Met gelijke afmetingen blijft het beeld netjes op zijn plaats.

WARNING

Maak alle frames even groot voordat je ze uploadt. De snelste manier naar een nette reeks is elk frame vanuit hetzelfde canvas in je afbeeldingstool exporteren, zodat ze gegarandeerd dezelfde afmetingen hebben.

06/10

De snelheid instellen: afspeelduur

De Duration-instelling bepaalt hoe snel de animatie afspeelt. Hij wordt gemeten in milliseconden (ms) en staat voor de tijd voor één volledige ronde door alle frames, niet de tijd per frame. Standaard is dit 1000 ms (één seconde).

PicoPixel verdeelt die afspeelduur gelijk over je frames. Dus 1000 ms verdeeld over 8 frames betekent dat elk frame 125 ms zichtbaar is. Sneller? Verlaag de afspeelduur. Langzamer en rustiger? Verhoog hem.

07/10

Herhalen: één keer of doorlopend

De Repeat-instelling bepaalt wat er gebeurt wanneer de animatie het einde bereikt. Je hebt twee keuzes:

  • Infinite, de animatie loopt voor altijd. Dit is de standaard, en wat je wilt voor dingen zoals een spinner die nooit mag stoppen.
  • Normal (a count), de animatie speelt een vast aantal keren af en stopt dan. Zet hem op 3 en hij loopt drie keer, waarna hij op het laatste frame blijft staan.

08/10

Afspelen regelen vanuit je interface

Je hoeft een animatie niet automatisch te laten lopen: je kunt hem starten en stoppen als reactie op wat de gebruiker doet, met de event-editor. Voeg een event toe, kies de actie Animated Image Mode, wijs hem naar je Animated Image en kies een afspeelactie:

  • Start, begin (of hervat) het afspelen.
  • Stop, pauzeer de animatie.
  • Restart, spring terug naar het eerste frame en speel opnieuw.

Laat bijvoorbeeld een laadindicator pas met Start beginnen zodra de gebruiker op een knop drukt. Gebruik Stop wanneer de taak is afgerond.

09/10

Het geheugenverbruik beperken

Animaties zijn gewoon afbeeldingen, en afbeeldingen nemen ruimte in op een klein apparaat. Zo beperk je het geheugenverbruik:

  • Gebruik alleen de frames die je nodig hebt. Vloeiende beweging vraagt zelden meer dan een handvol goed gekozen frames.
  • Houd frameafmetingen bescheiden. Een 64×64-animatie is veel lichter dan een 240×240-animatie.
  • Stem je kleurdiepte af op het display (zie de ESP32 tutorial voor meer over bouwen voor echte hardware).
TIP

Als je naar firmware exporteert, moet LV_USE_ANIMIMG in je lv_conf.h ingeschakeld zijn voor de Animated Image-widget. PicoPixel noteert dit voor je in de geëxporteerde README.md, zodat je build (of je AI-assistent) precies weet wat aan moet.

10/10

Volgende stappen

LEES VERDER

Meer om te ontdekken

Pets gebruiken in PicoPixel thumbnail
PICOPIXEL

Pets gebruiken in PicoPixel

Voeg een kant-en-klaar geanimeerd personage toe aan je project. Laat het reageren op knoppen, meetwaarden en andere gebeurtenissen op je apparaat.

pets · sprites · picopixel
PicoPixel-sjablonen, UI-kits en complete apps gebruiken thumbnail
PICOPIXEL

PicoPixel-sjablonen, UI-kits en complete apps gebruiken

Vind een geschikt voorbeeld, open of importeer het in PicoPixel, pas het ontwerp aan en exporteer LVGL C-code voor je apparaat.

templates · ui-kits · full-apps
PicoPixel LVGL MCP Server Setup Guide thumbnail
PICOPIXEL

PicoPixel LVGL MCP Server Setup Guide

Set up the PicoPixel LVGL MCP server for Claude, ChatGPT, Codex, or Cursor. Learn agent settings, reusable components, colors, fonts, and assets.

LVGL MCP · MCP server setup · AI UI design