SDL을 사용하여 PNG 이미지를 로드하려고 했지만 프로그램이 실행되지 않고 콘솔에 이 오류가 표시됩니다
libpng 경고: iCCP: 알려진 잘못된 sRGB 프로필
이 경고가 나타나는 이유는 무엇입니까? 이 문제를 해결하려면 어떻게 해야 합니까?
P粉4810352322023-10-13 18:57:24
pngcrush
을 사용하여 png 파일에서 잘못된 sRGB 프로필을 제거하세요.
-ow
입력 파일을 덮어씁니다-rem allb
tRNS 및 gAMA를 제외한 모든 보조 블록이 제거됩니다-reduce
무손실 색상 유형 또는 비트 심도 감소 수행콘솔 출력에 Removed the sRGB chunk
가 표시되고 블록 제거에 대한 추가 메시지도 표시될 수 있습니다. 결국에는 더 작고 최적화된 PNG 파일이 생성됩니다. 이 명령은 원본 파일을 덮어쓰므로 반드시 백업을 생성하거나 버전 관리를 사용하십시오.
P粉3005417982023-10-13 14:10:19
일부 애플리케이션은 경고를 오류로 처리합니다. 이러한 애플리케이션을 사용하는 경우 차단을 제거해야 합니다. ImageMagick과 같은 모든 종류의 PNG 편집기를 사용하여 이 작업을 수행할 수 있습니다.
아래 나열된 명령을 사용하기 전에 Windows CMD 프롬프트를 사용하여 집중하려는 이미지가 포함된 폴더로 cd
(디렉토리 변경)해야 합니다.
Libpng-1.6은 이전 버전보다 ICC 프로필을 더 엄격하게 검사하므로 경고를 무시할 수 있습니다. 이를 제거하려면 PNG 이미지에서 iCCP 블록을 제거하십시오.
으아아아폴더(디렉토리)의 모든 PNG 파일에서 잘못된 iCCP 블록을 제거하려면 ImageMagick에서 mogrify
를 사용할 수 있습니다.
이를 위해서는 ImageMagick이 libpng16으로 구축되어야 합니다. 다음을 실행하여 쉽게 확인할 수 있습니다.
으아아아무작위로 모든 파일을 처리하는 대신 복구해야 할 파일을 찾으려면 다음을 실행하세요.
으아아아여기서 -n
表示不重写文件,-q
는 경고를 제외한 대부분의 출력을 억제한다는 의미입니다. 죄송합니다. pngcrush에는 경고를 제외한 모든 것을 억제하는 옵션이 아직 없습니다.
참고: pngcrush가 설치되어 있어야 합니다.
ImageMagick의 바이너리 버전은 여기
에 있습니다.Android 프로젝트(Android Studio)의 경우 res
폴더로 이동하세요.
예:
으아아아