mac用户可利用预览、sips命令、快捷指令、automator或python批量调整图片像素尺寸:预览支持等比缩放并生成新文件;sips高效但覆盖原图;快捷指令与automator提供无损、可复用流程;python脚本则支持多格式及异常处理。

如果您在Mac电脑上需要统一调整多张图片的像素尺寸,以适配网页发布、社交媒体上传或节省存储空间,则可通过系统原生工具或命令行快速完成。以下是解决此问题的步骤:
一、使用预览应用批量调整像素尺寸
该方法利用macOS内置的“预览”应用,通过缩略图视图同步应用统一尺寸参数,无需安装第三方软件,所有图片将被等宽高等比例缩放至指定像素值,且默认生成新文件(需手动保存)。
1、将待处理的所有图片放入同一文件夹,选中全部图片后按Command + A全选。
2、右键任意一张图片,选择“打开方式”→“预览”,所有图片将以缩略图形式加载至左侧栏。
3、在预览窗口左侧缩略图区域,再次按Command + A全选全部缩略图。
4、点击顶部菜单栏“工具”→“调整大小”,弹出统一设置窗口。
5、取消勾选“按比例缩放”,在“宽度”和“高度”中输入目标像素值,例如1024 × 768。
6、确认单位为“像素”,分辨率根据用途设定:网页用72 ppi,打印用300 ppi。
7、点击“好”,随后按Command + S保存全部更改。
二、通过终端sips命令行批量修改尺寸
sips是macOS原生图像处理工具,支持对目录内同格式图片执行无图形界面的像素级缩放,执行效率高,适合重复性任务或脚本集成,但操作后会直接覆盖原图,建议提前备份。
1、将所有待处理图片放入一个独立文件夹,例如命名为photos_resize,并记下其完整路径(如/Users/YourName/Desktop/photos_resize)。
2、打开“终端”应用,输入cd 空格后拖入该文件夹,回车进入目录。
3、执行命令:sips -z 800 600 *.jpg(将800和600替换为目标宽高,*.jpg可替换为*.png或*.heic)。
4、若需同时处理多种格式,需分次运行对应命令,例如:sips -z 800 600 *.png。
5、处理完成后,原图文件将被直接覆盖;如需保留原始文件,请先复制整个文件夹。
三、借助快捷指令创建一键批量缩图流程
快捷指令可将图像尺寸调整封装为可复用操作,支持从“照片”App、访达或分享菜单直接调用,全程不覆盖原图,输出路径可自定义,适合高频轻量处理场景。
1、打开“快捷指令”应用,点击右上角“+”新建指令,命名为批量缩小图片至800x600。
2、点击“添加操作”,搜索并添加“选择照片”动作;再添加“调整图像大小”动作。
3、在“调整图像大小”设置中,选择“按像素缩放”,输入目标宽度800与高度600。
4、添加“存储文件”动作,指定输出位置(建议选择新文件夹),勾选“保持文件名”。
5、点击右上角“完成”,返回主界面后长按该指令,选择“添加到主屏幕”或“添加到共享表单”以便快速调用。
四、使用Automator创建无损批量调整工作流
Automator支持录制标准化图像处理动作,可组合尺寸调整、格式转换与质量控制多重操作,一次配置即可反复使用,适用于需长期维护的批量图像管理需求。
1、打开“自动操作”(Automator)应用,新建“快速操作”文档。
2、在左侧操作库中搜索“缩放图像”,将该动作拖入右侧工作区。
3、在“缩放图像”设置中,选择“按像素缩放”,输入目标宽度与高度数值,例如1200和900。
4、添加“存储文件”动作,在“文件名”中输入前缀(如resized_),并指定输出文件夹路径。
5、点击“文件”→“存储”,命名该工作流(如批量调整尺寸),保存后即可在访达右键菜单中调用。
五、使用Python脚本批量处理图片尺寸
Python结合Pillow库可实现高度定制化的批量尺寸调整,支持条件判断、批量重命名、多格式混合处理及异常跳过,适合有基础编程需求的用户。
1、打开终端,输入python3 --version确认Python 3.x已安装;如未安装,请前往Python官网下载安装。
2、在终端中执行:pip3 install Pillow,等待Pillow库安装完成。
3、新建文本文件,命名为resize_batch.py,用代码编辑器打开,粘贴以下内容:
from PIL import Image
import os
input_folder = "/Users/YourName/Desktop/images"
output_folder = "/Users/YourName/Desktop/resized"
target_size = (800, 600)
os.makedirs(output_folder, exist_ok=True)
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.tiff', '.bmp')):
img_path = os.path.join(input_folder, filename)
try:
with Image.open(img_path) as img:
img_resized = img.resize(target_size, Image.Resampling.LANCZOS)
output_path = os.path.join(output_folder, filename)
img_resized.save(output_path)
except Exception as e:
print(f"跳过 {filename}: {e}")
4、将脚本中/Users/YourName/Desktop/images替换为实际图片所在文件夹路径,/Users/YourName/Desktop/resized替换为输出路径。
5、在终端中进入脚本所在目录,执行:python3 resize_batch.py,等待处理完成。










