Conversion

shell命令獲取圖像的像素大小

  • January 28, 2022

是否有返回圖像像素大小的 shell 命令?

convert我正在嘗試使用(例如)從不同大小的不同 gif 開始製作動畫 gif convert -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參見此處

引用自:https://unix.stackexchange.com/questions/75635