viernes, 27 de marzo de 2026

Cómo solucionar el aviso libpng warning: iCCP: known incorrect sRGB profile en aplicaciones Qt

 


🧩 Problema

Al trabajar con aplicaciones en Qt5 que utilizan imágenes PNG, es común encontrar en la consola el siguiente aviso:

libpng warning: iCCP: known incorrect sRGB profile

Este mensaje indica que la imagen PNG contiene un perfil de color sRGB inválido o mal definido.

👉 Importante:

  • Es solo un warning, no rompe la ejecución.

  • No afecta directamente la funcionalidad.

  • Pero ensucia la salida de debug, lo cual es molesto en desarrollo.


🔍 Causa

Algunas imágenes PNG (generalmente exportadas desde ciertos editores) incluyen perfiles de color incorrectos o incompatibles con libpng, que es la librería usada internamente por Qt para procesarlas.


✅ Solución rápida

Podés eliminar esos metadatos usando ImageMagick:

mogrify -strip image.png

¿Qué hace este comando?

  • Elimina todos los metadatos del archivo

  • Incluye perfiles de color (iCCP)

  • Sobrescribe la imagen original


⚠️ Consideración importante

Este comando modifica el archivo original. Si necesitás conservar los metadatos, hacé un backup antes.


🚀 Procesar múltiples imágenes

Si tenés muchas imágenes PNG en un proyecto, podés limpiarlas todas con:

find . -type f -name "*.png" -exec mogrify -strip {} \;

🧠 Explicación del comando

  • find . → busca desde el directorio actual

  • -type f → solo archivos

  • -name "*.png" → filtra PNG

  • -exec mogrify -strip {} → ejecuta limpieza en cada archivo

  • \; → finaliza la instrucción


🎯 Resultado

Después de aplicar esto:

  • Se eliminan perfiles sRGB inválidos

  • Desaparece el warning en consola

  • Las imágenes siguen funcionando normalmente


🧪 Alternativa (sin sobrescribir)

Si no querés modificar los archivos originales:

convert image.png -strip image_clean.png

Esto genera una copia limpia.


🏁 Conclusión

El warning de libpng es inofensivo, pero conviene eliminarlo para mantener una salida de debug limpia. Con mogrify -strip, podés resolverlo de forma rápida y masiva en todo tu proyecto.


Si trabajás con Qt de forma intensiva, vale la pena integrar este paso en tu pipeline de assets.

No hay comentarios:

Publicar un comentario