SDL を使用して PNG 画像をロードしようとしましたが、プログラムが実行されず、コンソールにこのエラーが表示されます
libpng 警告: iCCP: 既知の正しくない sRGB プロファイル
なぜこの警告が表示されるのでしょうか?この問題を解決するにはどうすればよいですか?
P粉4810352322023-10-13 18:57:24
pngcrush を使用して、PNG ファイルから間違った sRGB プロファイルを削除します:
リーリー
は入力ファイル
を上書きします
は、tRNS と gAMA
を除くすべての補助ブロックを削除します。
ロスレス カラー タイプまたはビット深度の削減を実行します
Removed the sRGB chunk と、場合によってはチャンクの削除に関するその他のメッセージが表示されます。最終的には、より小さく最適化された PNG ファイルが作成されます。このコマンドは元のファイルを上書きするため、必ずバックアップを作成するか、バージョン管理を使用してください。
P粉3005417982023-10-13 14:10:19
一部のアプリケーションは警告をエラーとして処理します。そのようなアプリケーションを使用している場合は、このブロックを削除する必要があります。これは、ImageMagick などの任意の種類の PNG エディタを使用して行うことができます。
Windows CMD プロンプトを使用して、以下にリストされているコマンドを使用する前に、注目したい画像が含まれるフォルダーに cd (ディレクトリを変更) する必要があります。
リーリー
フォルダー (ディレクトリ) 内のすべての PNG ファイルから無効な iCCP ブロックを削除するには、ImageMagick のmogrify を使用できます。
リーリー
リーリー
すべてのファイルをやみくもに処理するのではなく、修復する必要があるファイルを見つけたい場合は、を実行できます。 リーリー
ここで、-n はファイルを書き換えないことを意味し、
-q は警告を除くほとんどの出力を抑制することを意味します。申し訳ありませんが、pngcrush には警告以外のすべてを抑制するオプションがまだありません。
注: pngcrush がインストールされている必要があります。
res フォルダーに移動します。
###例えば:###
リーリー