cari

Rumah  >  Soal Jawab  >  teks badan

Amaran: amaran libpng: iCCP: Profil sRGB yang salah diketahui

Saya cuba memuatkan imej PNG menggunakan SDL tetapi program tidak berjalan dan saya mendapat ralat ini dalam konsol

amaran libpng: iCCP: Profil sRGB yang diketahui tidak betul

Mengapa amaran ini muncul? Apakah yang perlu saya lakukan untuk menyelesaikan masalah ini?

P粉002572690P粉002572690428 hari yang lalu904

membalas semua(2)saya akan balas

  • P粉481035232

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

    Alih keluar profil sRGB yang salah daripada fail png menggunakan pngcrush:

    pngcrush -ow -rem allb -reduce file.png
    
    • -ow akan menimpa fail input
    • -rem allb Semua blok tambahan kecuali tRNS dan gAMA akan dialih keluar
    • -reduce Lakukan jenis warna lossless atau pengurangan kedalaman bit

    Dalam output konsol anda akan melihat Removed the sRGB chunk, dan mungkin lebih banyak mesej tentang penyingkiran blok. Anda akan mendapat fail PNG yang lebih kecil dan dioptimumkan. Memandangkan arahan ini akan menimpa fail asal, pastikan anda membuat sandaran atau menggunakan kawalan versi.

    balas
    0
  • P粉300541798

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

    Sesetengah aplikasi menganggap amaran sebagai ralat; jika anda menggunakan aplikasi sedemikian, anda mesti mengalih keluar sekatan. Anda boleh melakukan ini menggunakan sebarang jenis editor PNG, seperti ImageMagick.

    Menggunakan Windows CMD prompt, anda perlu cd(tukar direktori) ke folder yang mengandungi imej yang anda ingin fokuskan sebelum anda boleh menggunakan arahan yang disenaraikan di bawah.

    Libpng-1.6 mempunyai pemeriksaan yang lebih ketat untuk profil ICC berbanding versi sebelumnya; anda boleh mengabaikan amaran itu. Untuk menyingkirkannya, alih keluar blok iCCP daripada imej PNG.

    convert in.png out.png
    

    Untuk mengalih keluar sekatan iCCP yang tidak sah daripada semua fail PNG dalam folder (direktori) anda boleh gunakan mogrify daripada ImageMagick:

    mogrify *.png
    

    Ini memerlukan ImageMagick anda dibina dengan libpng16. Anda boleh menyemaknya dengan mudah dengan menjalankan:

    convert -list format | grep PNG
    

    Jika anda ingin mengetahui fail mana yang perlu dibaiki dan bukannya memproses kesemuanya secara membuta tuli, anda boleh menjalankan

    pngcrush -n -q *.png
    

    di mana -n 表示不重写文件,-q bermaksud menyekat kebanyakan keluaran kecuali amaran. Maaf, tiada pilihan lagi dalam pngcrush untuk menyekat segala-galanya kecuali amaran.

    Nota: Anda mesti telah memasang pngcrush.


    Versi binari

    ImageMagick terletak di sini


    Untuk projek Android (Android Studio), navigasi ke folder res.

    Contohnya:

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

    balas
    0
  • Batalbalas