簡體   English   中英

如何在 Mac OSX 上使用終端調整圖像大小?

[英]How to resize images using terminal on Mac OSX?

如有必要,我需要一種簡單且免費的方法來調整圖像大小並執行批處理作業。 免費的圖像處理軟件比它應該使用的更棘手。

正如 LifeHacker 所指出的,以下命令將很容易做到這一點:

sips -Z 640 *.jpg

引用他們的解釋:

“那么發生了什么?嗯,“sips”是正在使用的命令,-Z 告訴它保持圖像的縱橫比。“640”是要使用的最大高度和寬度,“*.jpg”指示您的計算機縮小尺寸每張圖像都以 .jpg 結尾。這真的很簡單,而且縮小圖像的速度非常快。如果您還想保留更大的尺寸,請務必先制作一份副本。”

來源: http : //lifehacker.com/5962420/batch-resize-images-quickly-in-the-os-x-terminal

imagemagick幫助:

$ convert foo.jpg -resize 50% bar.jpg

它可以做的事情還有很多,包括格式之間的轉換、應用效果、裁剪、着色等等。

這是使用sips遞歸調整給定文件夾(及其子文件夾)中所有圖像大小的腳本,並將調整大小的圖像放在與圖像相同的樹級別的resized文件夾中: https://gist.github。 com/lopespm/893f323a04fcc59466d7

#!/bin/bash
# This script resizes all the images it finds in a folder (and its subfolders) and resizes them
# The resized image is placed in the /resized folder which will reside in the same directory as the image
#
# Usage: > ./batch_resize.sh

initial_folder="/your/images/folder" # You can use "." to target the folder in which you are running the script for example
resized_folder_name="resized"

all_images=$(find -E $initial_folder -iregex ".*\.(jpg|gif|png|jpeg)")

while read -r image_full_path; do
    filename=$(basename "$image_full_path");
    source_folder=$(dirname "$image_full_path");
    destination_folder=$source_folder"/"$resized_folder_name"/";
    destination_full_path=$destination_folder$filename;

    if [ ! -z "$image_full_path" -a "$image_full_path" != " " ] &&
        # Do not resize images inside a folder that was already resized
        [ "$(basename "$source_folder")" != "$resized_folder_name" ]; then 

        mkdir "$destination_folder";
        sips -Z 700 "$image_full_path" --out "$destination_full_path";

    fi

done <<< "$all_images"

以前的答案是正確的,您也可以使用 mogrify。 例如,如果您想將目錄中許多圖像的大小減小 60%,則可以使用以下命令:

當然,在使用此命令之前,請務必將圖像備份到另一個目錄中。

mogrify -resize 60% *

iTunesconnect 的魔術:)

    mkdir ./iPhone5-5-Portrait
    sips -z 2208 1242 *.jpg -s formatOptions 70 --out ./iPhone5-5-Portrait
    sips -z 2208 1242 *.png --out ./iPhone5-5-Portrait

另外@grepit回復

正確的語法是:

magick mogrify -resize 60% *

你需要安裝ImageMagick ,最簡單的方法是使用自制軟件:

brew install imagemagick

這里的很多人都提到了imagick,但這對我來說還不夠(而且速度很快),尤其是當我只想縮小寬度/高度大於一個維度的圖像,而讓所有其他圖像變小。

安裝 imagemagick,

brew install imagemagick

所有的例子都在官方網站上給出。 要調整圖像大小,請查看此部分

調整當前文件夾中所有圖像大小的示例(僅適用於尺寸大於1280x1080 的圖像)並將它們輸出到現有的“out”文件夾,

magick mogrify -path out -resize 1280x1080\> *

-resize的其他有用選項(從官方網站復制),

尺寸 一般說明(實際行為可能因不同的選項和設置而異)
規模% 高度和寬度都按指定百分比縮放。
比例-x%x 比例-y% 高度和寬度分別按指定百分比縮放。 (只需要一個 % 符號。)
寬度 給定寬度,自動選擇高度以保持縱橫比。
x 高度 給定高度,自動選擇寬度以保持縱橫比。
寬x高 給定高度和寬度的最大值,保留縱橫比。
寬x高^ 給定寬度和高度的最小值,保留縱橫比。
寬x高! 強調給出寬度和高度,忽略原始縱橫比。
寬x高> 縮小尺寸大於相應寬度和/或高度參數的圖像。
寬x高< 放大尺寸小於相應寬度和/或高度參數的圖像。
區域@ 將圖像大小調整為具有以像素為單位的指定區域。 保留縱橫比。
x:y 這里 x 和 y 表示縱橫比(例如 3:2 = 1.5)。
x:y^ 刪除行或列以實現給定的縱橫比。
x:y# 添加行或列以實現給定的縱橫比。
{大小}{偏移} 指定偏移量(默認為 +0+0)。 下面,{size} 指的是上面的任何 forms。
{大小}{+-}x{+-}y 水平和垂直偏移 x 和 y,以像素為單位。 兩者都需要標志。 偏移量受 -gravity 設置的影響。 偏移量不受 % 或其他大小運算符的影響。 請注意,對於所有 -gravity 選項,除“中心”外,正 X 和 Y 偏移都在朝向圖像中心的向內方向。 對於東,留下+X。 對於南方,+Y 向上。 對於東南,+X 是左邊,+Y 是向上。 對於中心,使用正常的 X 和 Y 方向約定(+X 為右,+Y 為下)。

暫無
暫無

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

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