원본 파일을 덮어 쓰려면 pngcrush를 얻는 방법은 무엇입니까?


15

나는 man pngcrush그것을 읽었 으며 PNG 파일을 분쇄하여 원본 위에 저장할 수있는 방법이없는 것 같습니다. 여러 개의 폴더에 해당하는 PNG를 압축하고 싶기 때문에 하나의 명령으로 모두 수행하는 것이 유용합니다!

현재 디렉토리에서 원본 폴더로 pngcrush -q -d tmp *.png파일을 수동으로 잘라 붙여 넣기를하고 있습니다 tmp. 그래서 사용 mv하는 것이 가장 좋은 방법 이라고 생각 하십니까? 더 좋은 아이디어가 있습니까?

답변:


17

한 줄에 모두 :

for file in *.png; do pngcrush "$file" "${file%.png}-crushed.png" && mv "${file%.png}-crushed.png" "$file"; done

해야합니다.

(지금까지는 자체 테스트에서 테스트 한 png의 절반 미만 pngcrush이 더 작아서 색상이 영향을받지 않았습니다.)


감사! PNG를 압축 할 수있는 양은 제작 방법에 따라 달라질 수 있습니다. 포토샵의 "웹용으로 저장"에는 어떤 형태의 PNG 크러셔가 내장되어 있다고 생각합니다.
DisgruntledGoat

내 대부분은 ImageMagick의 가져 오기 명령으로 작성되었습니다. 가능하면 Photoshop과 같은 상용 소프트웨어는 사용하지 마십시오.
frabjous

4
더 나은 압축을 위해 -brute를 사용하십시오.
Collin Anderson

1
다른 대답은 더 나은 새로운 pngcrush와 지금이다.
휴고

22

버전 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.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.