크기가 6000픽셀 x 4000픽셀이 넘는 고해상도 이미지가 포함된 다양한 폴더가 있습니다. 일부는 5000px x 3000px이며 크기는 폴더마다 다릅니다. 로딩 시간/처리/메모리 공간 등의 리소스를 절약하기 위해 모든 이미지의 크기를 조정하고 싶습니다. 모든 이미지를 최소 3000x2000, 최대 3500x2200으로 유지하고 싶습니다. imagemagick을 사용하여 원본 콘텐츠를 대체하는 일괄 작업을 어떻게 수행할 수 있습니까? 누군가 나에게 우분투에서 imagemagick과 morgify를 사용하라고 제안합니까?
이전에는 Windows PC를 사용했을 때 포토라이저 소프트웨어를 사용했습니다. 폴더를 하나씩 선택하고 jpegMini 소프트웨어로 이미지를 처리합니다. 따라서 5MB 사진의 크기는 약 1.5MB로 줄어듭니다. 각 폴더에는 다양한 해상도의 이미지가 포함되어 있습니다. 이것은 매우 시간이 많이 걸리는 과정입니다. 각 폴더에 대해 이미지 크기를 약 3000*2000으로 유지하고 종횡비를 어느 정도 유지하기 위해 fotosizer 비율을 줄여야 합니다.
답변1
다음 명령(스크립트 또는 명령줄에서 실행)은 현재 폴더와 현재 폴더의 모든 하위 폴더에 있는 모든 이미지의 크기를 조정합니다.
find . -type f | grep -i -e '\.png$' -e '\.jpg$' -e '\.gif$` | xargs -I ___ mogrify -resize '3500x2200>' ___
현재 폴더 아래 폴더의 모든 일반 파일이 이미지인 경우 grep 단계를 건너뛸 수 있습니다. 그렇지 않은 경우 처리해야 하는 확장자만 모두 포함하도록 수정해야 합니다(– png, jpg 및 gif라고 가정합니다. 확실히). 대소문자를 구분하지 않도록 하세요 -i
.
필요에 따라 "3500x2200"을 변경하십시오. 종횡비를 유지하고 해당 치수에서 최대치를 유지합니다.
일부는 가로이고 일부는 세로이고 세로를 차별하지 않고 더 큰 크기를 약 3500으로 설정하려는 경우 "3500x3500"이 더 적합할 수 있습니다.
">"는 크기가 조정되지 않고 크기만 조정됨을 의미합니다.
품질을 낮춰 파일 크기를 줄이기 위해 -quality 90%
after와 같은 것을 추가할 수도 있습니다 .mogrify
mogrify
귀하의 요청에 따라 원본 파일을 덮어쓰십시오. 따라서 트리거를 당기기 전에 정말로 이 작업을 수행하고 싶은지 확인하십시오.
답변2
...조금 늦었지만 다른 사람에게 도움이 될 수도 있습니다. Ubuntu에서는 다음을 사용합니다.채팅(소프트웨어에서 사용 가능) Fotosizer(그래픽 인터페이스)와 매우 유사하며 원하는 작업을 수행합니다.