2014-07-04 1 views
4

파일 그룹을 변환하려고하지만 기존 파일을 덮어 쓰지는 않습니다. 최종 파일 형식을 구체화하기 위해 mogrify를 어떻게 사용할 수 있습니까? > firstpic-thumbnail.png, secondpic.png - - GM mogrify가 150 × 150 150 × 150 * .PNG -resize + 프로필 -sizegraphicsmagick에서 파일의 대량 출력 파일을 어떻게 지정할 수 있습니까?

등> secondpic-thumbnail.png, "*""% 예를 들어 firstpic.png f-thumbnail.png "

어떤 방법이 있습니까?

답변

3

모르겠지만 내가 대신 간단한 bash는 루프 convert을 사용합니다 :

for f in *.jpg; 
do 
    convert "$f" -resize 150x150 +profile "*" "${f%.jpg}-thumbnail.jpg"; 
done; 

또는 경우

mkdir tmp; 
gm mogrify -output-directory tmp -size 150x150 -resize 150x150 +profile "" "*.jpg"; 
for f in tmp/*.jpg; 
do 
    mv "$f" "${f%.jpg}-thumbnail.jpg"; 
done; 
mv tmp/* .; 
rm -rf tmp; 
: 정말 당신이 별도의 디렉토리에 새로운 파일을 넣어 다음 이름 바꾸기를 돌봐 -output-directory ( more on this option here)를 사용할 수 있습니다 mogrify를 사용하려면

첫 번째 방법이 더 좋음)

+0

이 답변은 정확합니다 (+1). 일회성 실행의 경우 스크립트를 사용하여 각각 "gm convert"를 실행하지만 많은 이미지를 작성하는 경우 일반적으로 두 번째 방법과 같은 것을 사용하여 "gm"을 반복적으로 다시로드하지 않아도됩니다. "- 이름 파일명"또는 이와 유사한 것이 mogrify에 추가하는 유용한 옵션이 될 것입니다. ImageMagick과 GraphicsMagick은 모두 "-name"옵션을 가지고 있지만 문서가 꽤 희박하고 "mogrify"에 의해 인식되지 않습니다. –

2

출력 형식 (확장자)이 입력 형식과 다른 경우 파일을 덮어 쓰지 않습니다. 그들이 동일한 경우, 당신은 그들이 이러한 목적을 위해 "다른"으로 표시하게이 트릭을 사용하지만 정말 동일하지만, 확장의 경우 다를 수 있습니다

gm mogrify -resize 150x150 -format PNG +profile "*" *.png 

편집 :

다른 디렉토리 나 다른 확장자를 지정하는 것 외의 다른 출력 파일의 이름을 바꾸기 위해 "mogrify"내의 기능을 알지 못합니다. 따라서 fragphace의 대답은 정확합니다. 스크립트의 이름을 바꾸려면 스크립트를 사용해야합니다. 내 대답과 함께 : mogrify에서 출력 파일 형식을 지정하는 방법이 있는지

gm mogrify -resize 150x150 -format PNG +profile "*" *.png 
for file in *.PNG 
do 
    basename=`echo $file | sed -e "s/.PNG//"` 
    mv $basename.PNG $basename-thumbnail.png 
done 
+0

파일 확장명을 동일하게 유지하면서 파일 이름을 추가하고 싶습니다. 원본 파일이 photo.png처럼 보이고 새 파일이 photo-thumbnail.png처럼 보일 것입니다. . 디렉토리의 모든 파일에 "미리보기 이미지"를 추가하고 싶습니다. 그렇게 할 수있는 방법이 있습니까? –

+0

직접적으로. Fragphace는 정확합니다. 당신은 스크립트를 사용해야합니다. 그에 따라 내 대답을 수정했습니다. –

+0

감사합니다. 내가 너에게 정답을 줄 수 있으면 좋겠어. –