簡體   English   中英

如何使用ImageMagick調整圖像大小? (蘋果系統)

[英]How to resize images using ImageMagick? (mac os)

有一堆圖像,我想減少每個圖像10像素的高度和寬度。 問題在於每個圖像都有不同的大小(即平均高度和寬度)。 我發現了如何使用ImageMagick在終端中調整圖像大小,但是它只能將圖像調整為固定大小(例如:convert example.png -resize 200x100 example.png)。 我需要將每個圖像的大小調整為((當前寬度)-10px)x((當前高度)-10px) 我是編程新手,請耐心等候:)

如果使用Imagemagick 7,則可以在所有圖像上編寫循環。 在Unix語法中(假設圖像名稱中沒有空格):

cd to your current directory
list=$(ls)
for img in $list; do
magick $img -resize "%[fx:w-10]x%[fx:h-10]" $img
done

如果不想覆蓋圖像,則創建一個新目錄,並將該目錄的路徑放在輸出之前。

如果您想一次完成一張以上的圖片,則可以執行以下操作:

cd to your current directory
magick * -resize "%[fx:s.w-10]x%[fx:s.h-10]" result.suffix

這將使結果圖像全部具有相同的名稱,但附加數字,例如result-0.suffix,result-1.suffix等。

如果您使用的是Imagemagick 6,則必須在單獨的命令中預先計算尺寸。

cd to your current directory
list=$(ls)
for img in $list; do
dimensions=$(convert image -format "%[fx:w-10]x%[fx:h-10]" info:)
convert $img -resize $dimensions $img
done

請注意,調整大小並不一定會為您提供所需的結果,因為Imagemagick會嘗試保持縱橫比。 因此,如果要強制使用確切的大小,則需要添加! 調整大小參數。 但是,這將導致一些失真,盡管對於僅調整10個像素可能不會太大。

一種更簡單的方法是將周圍的所有像素都刮掉5個像素。 然后,您可以使用mogrify來制作整個文件夾:

cd to current directory after creating a new directory for the output if desired:
mogrify -path path/to/new_directory -shave 5x6 *


在Imagemagick 7中,這將是magick mogrify ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM