3) Optimización del PNG para LVGL

3.1. Redimensionar (si es necesario)

3.2. Reducir paleta a 256 colores

Esto genera un PNG ligero, perfecto para ser embebido.

4)  Conversión del PNG a array C

LovyanGFX permite cargar imágenes desde memoria si están en formato array binario. Para generarlo:

Esto produce un archivo con contenido similar a:

Este archivo se incluye directamente en el firmware.

5) Integración del logo en el firmware

En el .ino final del proyecto, el logo se dibuja mediante:

Donde x e y son las coordenadas en pantalla (en nuestro caso, parte inferior derecha).

LovyanGFX detecta automáticamente el formato PNG y lo decodifica en tiempo real.

6) Consideraciones importantes

  • No usar PNG con transparencia alfa compleja → el decodificador lo soporta, pero penaliza rendimiento.
  • Evitar imágenes grandes → ralentizan el arranque y consumen RAM.
  • Mantener la paleta reducida → mejora la velocidad de renderizado.
  • Usar compresión PNG estándar → LVGL y LovyanGFX la manejan sin problemas.

7) Resultado final

El logo aparece en la parte inferior del panel, renderizado con gran nitidez y sin penalizar el rendimiento del ESP32‑S3. Este mismo procedimiento se puede reutilizar en futuros proyectos para:

  • iconos animados
  • fondos
  • barras decorativas
  • pantallas de arranque

Y en general, cualquier recurso gráfico que quieras integrar en Open Nextion.

El comando “PCDEMANERO” para generar el logo a integrarse perfectamente en el Open Nextion

Al final, después de probar herramientas, formatos y experimentos varios, descubrimos que todo el proceso de preparar un PNG compatible con Open Nextion podía reducirse a una única línea. Una línea tan elegante que merece quedarse para la posteridad:

Con este comando:

  • aplanas el PNG original,
  • lo conviertes a PNG32 (el formato que LovyanGFX digiere sin protestar),
  • y generas directamente el .h listo para incluir en el firmware.

Sin scripts raros, sin herramientas exóticas, sin magia negra. Una línea. Funciona. Y es muy PCDEMANO.

120
Suscribirse
Notificación
2 Comments
2
0
¡Aquí puedes dejar tus comentarios!x