Maison  >  Questions et réponses  >  le corps du texte

Avertissement : avertissement libpng : iCCP : profil sRGB incorrect connu

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 ?

P粉002572690P粉002572690394 Il y a quelques jours881

répondre à tous(2)je répondrai

  • P粉481035232

    P粉4810352322023-10-13 18:57:24

    Supprimez le profil sRGB incorrect des fichiers png en utilisant pngcrush :

    pngcrush -ow -rem allb -reduce file.png
    
    • -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 perte

    Dans 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.

    répondre
    0
  • P粉300541798

    P粉3005417982023-10-13 14:10:19

    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 que ImageMagick.

    À l'aide de l'invite Windows 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.

    convert in.png out.png
    

    Pour supprimer les blocs iCCP invalides de tous les fichiers PNG d'un dossier (répertoire), vous pouvez utiliser mogrify depuis ImageMagick :

    mogrify *.png
    

    Cela nécessite que votre ImageMagick soit construit avec libpng16. Vous pouvez facilement le vérifier en exécutant :

    convert -list format | grep PNG
    

    Si vous souhaitez savoir quels fichiers doivent être réparés au lieu de tous les traiter aveuglément, vous pouvez exécuter

    pngcrush -n -q *.png
    

    -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 trouve ici


    Pour les projets Android (Android Studio), accédez au dossier res.

    Par exemple :

    C:\{your_project_folder}\app\src\main\res\drawable-hdpi\mogrify *.png
    

    répondre
    0
  • Annulerrépondre