Conversion
shell命令獲取圖像的像素大小
是否有返回圖像像素大小的 shell 命令?
convert
我正在嘗試使用(例如)從不同大小的不同 gif 開始製作動畫 gifconvert -delay 50 1.gif 2.gif -loop 0 animated.gif
。問題是轉換只是使用第一個圖像的大小作為動畫 gif 的大小來重疊圖像,並且由於它們具有不同的大小,結果有點混亂,舊幀的位顯示在新幀下。
找到了一個解決方案:
identify
,imagemagick 包的一部分,正是我需要的$ identify color.jpg > color.jpg JPEG 1980x650 1980x650+0+0 8-bit DirectClass 231KB 0.000u 0:00.000
您可以使用其選項以最適合您的格式輸出寬度和高度,而不是
identify
通過眼睛或文本實用程序解析輸出。-format
例如:$ identify -format '%w %h' img.png 100 200 $ identify -format '%wx%h' img.png 100x200
您可以在此頁面上找到您可以輸出的圖像屬性列表,但對於這裡的問題,您似乎只需要
%w
和%h
,它們分別給出圖像的寬度和高度,以像素為單位。通過輸出多個圖像並對輸出進行排序
-format
,我在查找像素方面最大的圖像時提供的靈活性非常有用。%[fx:w*h]
-ping
如果您正在處理許多圖像,使用更複雜的轉義,並且希望確保程序不會浪費時間載入整個圖像,您可能需要指定該選項。使用簡單的轉義,-ping
應該是預設值。有關選擇-ping
和的更多資訊,請+ping
參見此處。