在 Linux 中調整圖像大小
我有各種高解析度圖像大小超過 6000 像素 x 4000 像素的文件夾。有些是 5000 像素 x 3000 像素,大小因文件夾而異。我想調整所有圖像的大小以節省載入時間/處理/記憶體空間等資源。我想將所有圖像保持在最小 3000x2000 最大 3500x2200 左右。我如何使用 imagemagick 批量執行此操作,替換原件。有人建議我在 ubuntu 上使用 imagemagick 和 morgify?
早些時候,當我有 Windows PC 時,我使用了 photosizer 軟體。一張一張選擇文件夾,然後用jpegMini軟體處理圖片。所以 5 mb 照片減小到 1.5 mb 左右。每個文件夾都包含不同解析度的圖像。這是一個耗時的過程。對於每個文件夾,我必須減少 fotosizer 的 % 以保持圖像大小在 3000*2000 左右或多或少保持縱橫比。
下面的命令,無論是在腳本中,還是僅從命令行執行,都將調整目前文件夾和目前文件夾的任何子文件夾中的所有圖像的大小。
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%
aftermogrify
以通過降低質量來減小文件大小。
mogrify
根據您的要求覆蓋原始文件,因此請確保在拉動觸發器之前確實要執行此操作。