나는 man pngcrush
그것을 읽었 으며 PNG 파일을 분쇄하여 원본 위에 저장할 수있는 방법이없는 것 같습니다. 여러 개의 폴더에 해당하는 PNG를 압축하고 싶기 때문에 하나의 명령으로 모두 수행하는 것이 유용합니다!
현재 디렉토리에서 원본 폴더로 pngcrush -q -d tmp *.png
파일을 수동으로 잘라 붙여 넣기를하고 있습니다 tmp
. 그래서 사용 mv
하는 것이 가장 좋은 방법 이라고 생각 하십니까? 더 좋은 아이디어가 있습니까?
답변
한 줄에 모두 :
for file in *.png; do pngcrush "$file" "${file%.png}-crushed.png" && mv "${file%.png}-crushed.png" "$file"; done
해야합니다.
(지금까지는 자체 테스트에서 테스트 한 png의 절반 미만 pngcrush
이 더 작아서 색상이 영향을받지 않았습니다.)
답변
버전 1.7.22부터 pngcrush
덮어 쓰기 옵션이 있습니다.
시험
pngcrush -ow file.png
자세한 내용은 변경 로그 를 참조하십시오.
Version 1.7.22 (built with libpng-1.5.6 and zlib-1.2.5)
Added "-ow" (overwrite) option. The input file is overwritten and the
output file is just used temporarily and removed after it is copied
over the input file.. If you do not specify an output file, "pngout.png"
is used as the temporary file. Caution: the temporary file must be on
the same filesystem as the input file. Contributed by a group of students
of the University of Paris who were taking the "Understanding of Programs"
course and wished to gain familiarity with an open-source program.