LVGL

Travailler avec le widget d'image animée LVGL

Comment fonctionne le widget d'image animée LVGL : importez une séquence d'images de taille identique, définissez la durée et la boucle, et lisez des animations image par image sur votre écran.

EDEd
lvglanimated-imageanimimganimationframespicopixel
MIS À JOUR2026-05-29
01/10

Présentation

Le widget d'image animée est la façon la plus simple d'ajouter du mouvement à votre écran : un indicateur de chargement qui tourne, une icône qui rebondit, un œil qui cligne. Ce guide explique comment fonctionne le widget d'image animée LVGL dans PicoPixel : comment en ajouter un, pourquoi chaque image doit avoir la même taille, comment contrôler la vitesse et la mise en boucle, et comment le démarrer et l'arrêter pendant que votre interface est en cours d'exécution.

02/10

Qu'est-ce que le widget d'image animée ?

Une image animée affiche une suite d’images fixes. Leur succession rapide crée l’illusion du mouvement, comme dans un folioscope. Il suffit de fournir les images, de choisir la durée de lecture et d’indiquer si la séquence doit se répéter.

Ce widget convient aux animations simples qui se répètent, comme un indicateur de chargement, un cœur qui bat ou une main qui salue.

NOTE

Sous le capot, c'est le widget lv_animimg de LVGL. Quand vous exportez votre projet, PicoPixel écrit le code LVGL pour vous (lv_animimg_create, lv_animimg_set_src, lv_animimg_set_duration, etc.), vous n'avez jamais à y toucher. Il cible LVGL 8.x.

03/10

Image animée vs. sprite : lequel utiliser ?

Ces deux widgets se ressemblent mais résolvent des problèmes différents :

  • Image animée, une animation qui boucle. Utilisez-la quand votre graphique ne fait qu'une seule chose, comme un indicateur qui tourne.
  • Sprite, plusieurs animations dans un seul widget, avec la possibilité de basculer entre elles (Idle, Running, Happy…). Utilisez-le quand votre graphique a besoin de plus d'un mode.

Chaque mode d’un sprite utilise sa propre image animée. Si vous avez besoin de passer d’une animation à une autre, choisissez donc un sprite.

04/10

Ajouter une image animée et importer des images

  1. Ajoutez le widget Animated Image à votre écran.
  2. Dans ses propriétés, trouvez la ligne Image Set et cliquez sur Add Image Set.
  3. Dans l'onglet NEW, cliquez sur la zone d'import (« Click to upload frames ») et sélectionnez vos images. Vous pouvez en sélectionner plusieurs à la fois ; les formats acceptés sont PNG et JPEG (.png, .jpeg, .jpg).
  4. Cliquez sur Continue pour associer les images au widget. La ligne Image Set affichera désormais le nombre d’images que vous avez (par exemple, « 8 frames »).

Vous pouvez également utiliser un ensemble de images déjà utilisé depuis l'onglet Assets plutôt que de les importer à nouveau.

Un widget Animated Image avec neuf images de Nyan Cat, la séquence en bas et les réglages Image Set, Repeat, Duration et lecture dans le panneau de droite.
▸ Neuf images, une durée totale de 1000 ms et une répétition infinie : l’animation est prête à être lue.
TIP

Les images sont triées alphabétiquement par nom de fichier, nommez-les donc en séquence avec des zéros devant les nombres : frame_01.png, frame_02.png, frame_03.png, pour garantir qu'elles se lisent dans le bon ordre. Un nom comme frame_2.png se trierait après frame_10.png, ce qui désorganiserait votre animation.

NOTE

Une image animée nécessite au minimum 2 images, et vous pouvez en ajouter jusqu'à 32. Si vous avez besoin de plus de mouvement, envisagez moins de images bien choisies — chaque image est stockée sur l'appareil.

05/10

Pourquoi toutes les images doivent avoir la même taille

C'est la règle à retenir absolument : chaque frame doit avoir exactement la même largeur et la même hauteur. Si vous essayez d'ajouter des images de tailles différentes, PicoPixel vous en empêche avec le message « All frames must have the same dimensions. »

Le widget affiche chaque image au même emplacement. Si l’une mesure 64×64 et la suivante 80×80, l’animation semble sauter au lieu de rester stable. Des dimensions identiques garantissent un mouvement régulier.

WARNING

Ajustez les dimensions des images avant de les importer. Pour obtenir une séquence homogène, exportez-les toutes depuis un canevas de même taille dans votre logiciel graphique.

06/10

Régler la vitesse : la durée

Le paramètre Duration contrôle la vitesse de lecture de l'animation. Il est mesuré en millisecondes (ms) et représente le temps pour un passage complet à travers toutes les images, pas le temps par image. La valeur par défaut est 1000 ms (une seconde).

PicoPixel répartit cette durée uniformément sur vos images. Ainsi, une durée de 1000 ms répartie sur 8 images signifie que chaque image s'affiche pendant 125 ms. Vous voulez que ce soit plus rapide ? Réduisez la durée. Pour ralentir la lecture, augmentez-la.

07/10

Boucle : lire une fois ou tourner indéfiniment

Le paramètre Repeat décide de ce qui se passe quand l'animation atteint la fin. Vous avez deux choix :

  • Infinite, l'animation boucle indéfiniment. C'est la valeur par défaut, et c'est ce que vous voulez pour des choses comme un indicateur qui ne doit jamais s'arrêter.
  • Normal (un nombre), l'animation se joue un nombre défini de fois puis s'arrête. Mettez-le à 3 et il tourne trois fois, puis s'immobilise sur la dernière image.
08/10

Contrôler la lecture pendant que votre interface est active

Vous n'avez pas à laisser une animation se dérouler automatiquement : vous pouvez la démarrer et l'arrêter en réponse à ce que fait l'utilisateur, en utilisant l'éditeur d'événements. Ajoutez un événement, choisissez l'action Animated Image Mode, pointez-la vers votre image animée et choisissez un mode :

  • Start, commencer (ou reprendre) la lecture.
  • Stop, mettre l'animation en pause.
  • Restart, revenir à la première image et rejouer.

Par exemple : gardez un indicateur « connexion en cours… » arrêté jusqu'à ce qu'un bouton soit pressé, puis démarrez-le, et arrêtez-le une fois la tâche terminée.

09/10

Limiter la consommation de mémoire

Chaque image d’une animation occupe de la mémoire sur l’appareil. Quelques habitudes permettent de limiter cette consommation :

  • N'utilisez que les frames dont vous avez besoin. Un mouvement fluide nécessite rarement plus d'une poignée de images bien choisies.
  • Gardez des dimensions de frame modestes. Une animation en 64×64 est beaucoup plus légère qu'une en 240×240.
  • Adaptez votre profondeur de couleur à l'écran (consultez le tutoriel ESP32 pour en savoir plus sur la compilation pour du matériel réel).
TIP

Si vous exportez vers du firmware, l'image animée nécessite LV_USE_ANIMIMG activé dans votre lv_conf.h. PicoPixel le note pour vous dans le README.md exporté, afin que votre build (ou votre assistant IA) sache exactement quoi activer.

10/10

Prochaines étapes

À LIRE ENSUITE

Pour aller plus loin.

Comment utiliser les mascottes dans PicoPixel thumbnail
PICOPIXEL

Comment utiliser les mascottes dans PicoPixel

Les mascottes sont des sprites animés prêts à l'emploi avec plusieurs modes que vous pouvez déclencher selon n'importe quelle condition. Choisissez-en un dans le répertoire, ajoutez-le à votre projet et connectez-le pour qu'il réagisse à ce que fait votre appareil : récupération de données, surchauffe, revue de code, et bien plus encore.

pets · sprites · picopixel
Comment utiliser les modèles, kits d'interface et applications complètes PicoPixel thumbnail
PICOPIXEL

Comment utiliser les modèles, kits d'interface et applications complètes PicoPixel

Trouvez des modèles PicoPixel, des kits d'interface, des exemples, des sprites, des widgets et des fichiers d'applications complètes, puis ouvrez, téléchargez, importez, personnalisez et exportez-les en code C LVGL pour votre appareil.

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