我有一個圖像文件夾,覆蓋4MB
- 我們稱之爲dsc_big/
。我想使用convert -define jpeg:extent=2MB
將它們轉換爲2MB
,並將dsc_big/*
複製到已存在的文件夾dsc_small/
。使用ImageMagick將圖像批量調整到新文件夾
我試過convert dsc_big/* -define jpeg:extent=2MB dsc_small/
,但是會產生圖像,稱爲-0
,-1
等等。
我該怎麼辦?
我有一個圖像文件夾,覆蓋4MB
- 我們稱之爲dsc_big/
。我想使用convert -define jpeg:extent=2MB
將它們轉換爲2MB
,並將dsc_big/*
複製到已存在的文件夾dsc_small/
。使用ImageMagick將圖像批量調整到新文件夾
我試過convert dsc_big/* -define jpeg:extent=2MB dsc_small/
,但是會產生圖像,稱爲-0
,-1
等等。
我該怎麼辦?
convert
旨在處理單個輸入文件,據我所知,雖然我不得不承認我不明白你得到的輸出。 mogrify是在下面的風格更適合於批量處理:
mogrify -path ../dsc_small -define jpeg:extent=2MB dsc_big/*
但老實說,我認爲這是危險的,一般使用(它會覆蓋原來的圖像,如果你忘記了-path
),所以我總是用convert
再加上for循環這樣的:如果你在當前目錄中處理文件
for file in dsc_big/*; do convert $file -define jpeg:extent=2MB dsc_small/`basename $file`; done
的basename
通話是沒有必要的。
雖然這是一個古老的問題,但我添加了這個反應,爲其他任何人的利益,絆倒這一點。
我有完全相同的問題,並通過使用mogrify
氣餒,我編寫了一個名爲easymagick而在內部使用convert
命令使這個過程更容易小型基於Python的工具。
請注意,這仍然是一項正在進行的工作。我會很感激我能得到的任何反饋。
這對我的作品
convert -rotate 90 *.png rotate/image.jpg
產生圖像0.jpg,圖像1.JPG,圖像2.JPG .....在 '旋轉' 文件夾。不知道保存原始文件名的方法。
使用'mogrify -path rotate -rotate 90 * .png' – 2015-05-29 09:34:04
我發現cd
-ing到所需的文件夾,然後使用bash全局變量$PWD
使我的convert
不會引發任何錯誤。我正在利用ImageMagick最近實現的caption:
http://www.imagemagick.org/Usage/text/#caption函數來標記我的圖像與基本文件名,並將它們放在第一個目錄中的另一個目錄中。
cd ~/person/photos
mkdir labeled
for f in $PWD/*.JPG; do
width=$(identify -format %w $f)
filename=$(basename $f .JPG)
convert -background '#0008' -colorspace transparent -fill white -gravity center -size ${width}x100 caption:"${filename}" ${f} +swap -gravity south -composite "$PWD/labeled/${filename}.jpg";
done
考慮在寬度開始的行中使用''$ f「'而不是'$ f' = ...'和'filename = ...'以防文件名中包含空格。 – 2015-12-16 00:56:57
這是長期嘗試後幫助我的命令。 我想從寬大,高度可變的大圖像列表中製作相同大小的縮略圖。這是爲了創建一個畫廊頁面。
convert -define jpeg:size=250x200 *.jpg -thumbnail 250x200^ -gravity center -extent 250x200 crop/thumbnail-%d.jpeg
我得到了所有具有相同的寬度和高度的重新縮小的縮略圖。 :)感謝ImageMagick。
這裏有一個解決方案不使用循環在控制檯上
convert *.jpeg -define jpeg:extent=2MB -set filename:f '../dsc_small/%t_small.%e' +adjoin '%[filename:f]'
PS:如果版主刪除我的答覆爲「重複回答」一次,我從來沒有在堆棧溢出發佈一次。閱讀解決方案,這是不是相同的任何其他解決方案,這一個不使用控制檯上的循環,並使用ImageMagick像發佈問題的人請求。如果必須刪除一個答案,繼續刪除使用其他軟件包的答案,因爲他們實際上沒有回答這個問題
另外我怎樣才能用'mogrify'來做到這一點? – tekknolagi 2012-01-03 04:48:24
我添加了一個小例子,顯示了mogrify和一個鏈接。 – 2012-01-03 04:52:54
ImageMagick 6.8.0可以使用convert:'convert * .jpg * .png'處理多個文件。但是我不知道如何處理輸出文件名,因爲ImageMagick只是將名稱設置爲序號(即:1.png,2.png,3.png等) – 2013-09-12 16:30:46