J'ai essayé de charger une image PNG en utilisant SDL mais le programme ne s'exécute pas et j'obtiens cette erreur dans la console
Avertissement libpng : iCCP : profil sRGB incorrect connu
Pourquoi cet avertissement apparaît-il ? Que dois-je faire pour résoudre ce problème ?
Supprimez le profil sRGB incorrect des fichiers png en utilisant
pngcrush
:-ow
écrasera le fichier d'entrée-rem allb
Tous les blocs auxiliaires sauf tRNS et gAMA seront supprimés-reduce
Effectuez une réduction du type de couleur ou de la profondeur de bits sans perteDans la sortie de la console, vous devriez voir
Removed the sRGB chunk
, et éventuellement plus de messages sur la suppression des blocs. Vous obtiendrez un fichier PNG plus petit et optimisé. Étant donné que cette commande écrasera le fichier d'origine, assurez-vous de créer une sauvegarde ou d'utiliser le contrôle de version.Certaines applications traitent les avertissements comme des erreurs ; si vous utilisez une telle application, vous devez supprimer le blocage. Vous pouvez le faire en utilisant n'importe quel type d'éditeur PNG, tel queImageMagick.
À l'aide de l'inviteWindows CMD, vous devez
cd
(changer de répertoire) vers le dossier contenant les images sur lesquelles vous souhaitez vous concentrer avant de pouvoir utiliser les commandes répertoriées ci-dessous.Libpng-1.6 a des contrôles plus stricts pour les profils ICC que les versions précédentes, vous pouvez ignorer l'avertissement ; Pour vous en débarrasser, supprimez le bloc iCCP de l'image PNG.
Pour supprimer les blocs iCCP invalides de tous les fichiers PNG d'un dossier (répertoire), vous pouvez utiliser
mogrify
depuis ImageMagick :Cela nécessite que votre ImageMagick soit construit avec libpng16. Vous pouvez facilement le vérifier en exécutant :
Si vous souhaitez savoir quels fichiers doivent être réparés au lieu de tous les traiter aveuglément, vous pouvez exécuter
où
-n
表示不重写文件,-q
signifie supprimer la plupart des sorties, à l'exception des avertissements. Désolé, il n'y a pas encore d'option dans pngcrush pour tout supprimer sauf les avertissements.Remarque :Vous devez avoir installépngcrush.
La version binaire de
ImageMagick se trouveici
Pour les projets Android (Android Studio), accédez au dossier
res
.Par exemple :