功能关键词:图片等比例缩放、JPEG及WebP压缩、批量格式转换、EXIF选项。
工具概述
批量修改分辨率与图片压缩工具可以从文件夹或选中的多张图片中收集素材,根据宽度和高度等比例调整像素尺寸,设置压缩质量,并转换JPEG、PNG、WebP等格式。适合统一插图尺寸和整理多个输出副本。
此页面还提供了遍历、保留路径结构、保留EXIF、最小文件阈值、并行线程和进度日志。这里的分辨率指以像素为单位的宽度和高度,界面中没有DPI输入或固定目标文件大小功能。
工具截图

主要功能
- 选择图片目录或多个文件,支持JPG、JPEG、PNG、BMP、GIF、TIFF、WEBP;目录可以遍历到子目录。
- 在仅设置宽度、仅设置高度或同时设置宽度和高度时进行等比例缩放,支持缩小和放大;两个值均为0时,不更改像素尺寸。
- JPEG和WebP使用1到100的质量参数,PNG将其映射到压缩设置;可以保留格式,也可以统一转换为页面列出的格式。
- 转换为JPEG时,透明部分会合成到白色背景上;EXIF选项会尝试在JPG/JPEG及WebP的保存分支中原样传递原始EXIF数据。
- 通过最小KB阈值排除小文件,并使用1到16个并行线程进行处理;目录源可以保留相对路径。
- 记录每个文件的尺寸变化、文件大小变化或错误,显示速度、预计剩余时间、成功和失败汇总,并通过右键复制日志。
使用前的准备
准备JPG/JPEG、PNG、BMP、GIF、TIFF、WEBP图片,或包含图片的文件夹。页面的文件选择界面没有单独列出TIF扩展名,目录收集规则同样使用TIFF。
选择保存结果的目录。实际输出会保存为新文件,存在同名文件时通常会添加序号,但同一批次中转换为平铺布局的同名源文件可能发生并行处理导致的命名冲突,因此建议将不同的同名源文件分批处理,或使用目录结构。
根据实际需求确定以像素为单位的宽度和高度、质量、格式;质量值不是压缩率,也没有用于指定输出为多少KB的输入框。
GIF动画和多页TIFF文件仅使用当前的第一帧进行处理,没有保留所有帧的选项。如果需要动画或多页内容,请保留原始文件。
详细操作步骤
1. 从主文件夹的浏览菜单中选择图片源
点击“主文件夹”右侧的“浏览”,选择“选择文件夹”或“选择文件”。文件窗口支持多选,选择多个文件后,输入框中会显示选中数量;此字段并不限于目录。
也可以手动输入实际的文件或目录路径。将文件拖入路径栏或窗口时,当前实现会获取该文件所在的目录,因此也可能收集同一目录中的其他图片;要将选择精确限定为一个或多个文件,请使用浏览下的“选择文件”。
选择文件后,内部文件列表优先于路径栏文本;此后仅修改文本或拖入目录,也不会自动清除旧列表。要切换回目录源,请再次使用“浏览 → 选择文件夹”,明确清除旧的文件选择。
这里没有添加源的菜单,也不支持用分号连接多个目录。截图仅展示菜单展开的状态,并未选择图片、拖入测试文件或创建素材。

2. 指定结果目录和目录扫描范围
点击“保存目录”右侧的“浏览”,选择结果保存文件夹;实际使用时,也可以输入或拖入目录。目录会在输出时按需创建,没有用于将结果另存为的单独按钮。
“遍历子目录”默认关闭,仅收集主目录直属的图片;启用后会扫描子目录。“保留原始路径结构”依赖于遍历,关闭遍历后,结构选项会取消勾选并禁用。
目录源勾选遍历和结构时,文件会使用主目录内的相对路径保存;通过“选择文件”创建的内部多文件列表没有主目录参照,因此即使勾选结构,输出仍为平铺。
建议将保存目录与输入目录分开;目录扫描不会主动排除输出子树,因此在重新处理时或源中已存在输出时,这些图片可能被再次收集。
存在已有重名时,会尝试添加_1、_2等序号;同一批次中转换为相同格式的不同格式同名图片,或从多个目录平铺的同名图片,请分批处理,以避免并行处理导致的命名冲突。目前尚未选择保存目录。

3. 设置最大宽度和最大高度,先确认是否允许放大
“最大宽度”和“最大高度”的范围为0到20000像素,两者默认值均为0,表示不更改像素尺寸。仅输入宽度时,会根据该宽度计算高度;仅输入高度时,会根据该高度计算宽度。
两个值均大于0时,缩放会使用宽度或高度比例中较小的一个,将图片等比例放入指定的宽高框内,而不是拉伸至固定宽高,没有裁剪或添加留白选项。
虽然控件名称包含“最大”,但实际代码并未将缩放比例限制为1:指定值超过原始图片尺寸时,图片也会放大。如果只想压缩而不改变尺寸,可以将两个值保持为0;如果只需要缩小,则需要根据原始图片尺寸自行选择参数。
计算尺寸时使用向下取整,极端宽高比或非常短的边长可能导致无效尺寸或日志中的错误。此页面没有基于长边、百分比、DPI的其他尺寸模式。
当前宽度和高度均保持为0,尚未输入尺寸或处理图片。

4. 区分各格式的行为,选择质量和输出格式
“压缩质量”的范围为1到100,默认值为85;“输出格式”的默认值为“自动”,使用原始扩展名重新保存,也可以选择JPEG、PNG、WEBP、BMP、GIF、TIFF。“自动”并非原始文件的逐字节相同副本。
JPG/JPEG和WebP会将质量值传递给编码器,通常值越低,有损压缩越强;这不是原始大小的保留率,也不保证特定的固定大小,或输出始终小于原始文件。
PNG会将质量值转换为压缩参数并启用优化,这与JPEG的有损质量含义不同;BMP、GIF、TIFF等分支不使用此质量值,因此不能用相同的值比较所有格式。
转换为JPEG时,会在保存前用白色背景填充透明部分;PNG和WebP可以根据格式保留相应的透明信息。GIF和TIFF不会依次处理并保存所有帧,动画或多页内容会输出第一帧。
图片仅展示格式菜单展开的状态,并未选择其他格式或生成文件。

5. 设置保留EXIF、最小文件阈值和线程
“保留EXIF”默认开启,但实际上,从文件读取的原始EXIF仅在JPG/JPEG及WebP的保存分支中原样传递;PNG及其他输出分支不会根据此选项显式传递EXIF,不保证保留所有元数据。
源代码中没有先根据EXIF校正方向,或统一管理ICC和DPI的步骤。如果需要拍摄方向、颜色和元数据的一致性,则需要检查实际输出,不能将此复选框视为元数据的完全保真。
“最小文件”的范围为0到100000KB,默认值0时不进行过滤;大于0时,仅包含原始文件字节数大于或等于该值×1024的图片。等于阈值的文件也会处理,这不是固定的目标输出大小。
“线程数”的范围为1到16,默认值为本地可用且不超过4的值,当前显示为4。它控制并行处理任务的数量,增加不一定更快;大图片需要额外内存。
当前EXIF开启,阈值为0KB,线程数为4,均为默认状态,并未输入测试参数或单独运行测试。

6. 开始实际处理,读取日志,并从选定目录获取文件
确认实际使用的源、保存目录和参数后,点击“开始处理”;工具首先检查登录和在线使用权限,随后收集图片,按最小阈值过滤,并提交并行任务。本次未点击开始,也未启动权限检查。
处理区域显示已处理/总数、速度和预计剩余时间,日志记录每个文件的原始尺寸→新尺寸及文件大小减少量,出错时显示文件名和原因。文件大小统计仅汇总收集到的成功结果,文件也可能变大,减少量可能为负值。
点击“停止”后,会设置停止标志,并取消尚未执行的任务,但已经运行中的并行任务可能继续写入输出;并不是立即终止所有写入。请等待处理线程结束,不要立即关闭或重新开始同一批次的任务。
结束时仍会显示通用的完成消息和汇总,停止可能仅留下部分结果,因此不能仅凭完成字样判断所有图片均已处理。处理过程中关闭窗口时,等待时间仅约2秒,不建议在写入完成前关闭。
右键点击日志区域会显示“复制”“清空日志”“全选”;复制适用于当前选中的文本,因此如果需要全部日志,请在复制前全选。运行日志保留最近约500行,没有CSV报告或下载按钮。
结果已写入开始前指定的目录;软件没有打开结果目录的按钮,请手动前往该目录查看。本文采用快速制作模式,并未实际上传素材、执行压缩或缩放、生成或验证结果。

主要参数说明
| 参数 | 功能 | 建议 |
|---|---|---|
| 最大宽度 / 高度 | 0~20000px,默认值为0 / 0。 | 两个值为0时不更改像素;根据指定值,图片也可能被放大,等比例缩放不会进行裁剪。 |
| 压缩质量 | 1~100,默认值为85。 | 主要用于JPG/JPEG和WebP;在PNG中含义不同,其他分支不使用。 |
| 输出格式 | 自动、JPEG、PNG、WEBP、BMP、GIF、TIFF。 | “自动”也会重新保存;动画或多页内容仅使用第一帧,JPEG的透明部分会变为白色背景。 |
| 保留EXIF | 默认开启。 | 仅在JPG/JPEG及WebP分支中显式原样传递,不保证所有元数据。 |
| 最小文件 | 0~100000KB,默认值为0。 | 仅处理大于或等于阈值的原始文件;0时不进行过滤,这不是目标文件大小。 |
| 线程数 | 1~16,此机器上的默认值不超过4。 | 并行任务可能争用同一名称,因此建议将不同源的同名文件分批处理。 |
| 遍历 / 保留结构 | 遍历默认关闭,结构依赖于遍历。 | 内部多文件选择列表没有主目录参照,输出仍为平铺。 |
结果与保存
输出直接写入选定的保存目录;目录源勾选遍历和结构时会保留内部层级,否则输出为平铺。指定格式后会替换扩展名,JPEG模式使用.jpeg,存在已有重名时通常会反复添加_1、_2等。
重名检测和保存未使用独占预留,同一批次中并行处理的同名输出目标仍可能发生冲突。实际使用中,最好按目录保留结构,或将同名源文件分批处理,请勿将页面对已有重名添加序号的逻辑理解为保证所有并发情况下均不会发生覆盖。
此工具没有结果预览、打开目录操作、CSV报告或将汇总另存为的单独项目。实际处理结束后,请手动前往步骤2中的目录获取文件;如果需要保留统计,请在日志中使用右键的“全选”和“复制”。
输出可能比原始文件更大,停止时已在运行的任务可能写入输出,通用的完成消息并不表示整个批次成功。本文未运行处理、生成图片或验证实际保存内容。
常见问题与使用建议
1. 最大宽度和最大高度是否只会缩小图片,不会放大?
不是,代码支持放大;两个值均为0时不更改尺寸,指定大于原始图片的值时也可能放大。
2. 同时输入宽度和高度后,图片会被拉伸为固定尺寸吗?
不会,会使用较小的比例等比例放入宽高框内,不进行裁剪或添加留白。
3. 此工具可以设置DPI或100KB的目标吗?
此页面没有DPI或固定目标文件大小栏;“最小文件”是输入过滤阈值。
4. 为什么拖入一张图片后,有时会处理同一目录中的图片?
文件拖入的实现会获取该文件所在的目录;要精确选择文件,请使用“浏览 → 选择文件”。
5. 为什么多选后修改路径,有时仍会使用旧文件?
内部的selected_files优先,修改文本或拖入不会清除旧列表;请改用“浏览 → 选择文件夹”切换回目录源。
6. GIF动画和多页TIFF文件会完整保留吗?
不会,保存处理仅处理当前的第一帧,没有遍历所有帧的循环。
7. 质量85是否表示压缩至原始文件大小的85%?
不是,这是编码质量值,其效果因格式而异,输出文件大小也可能增加。
8. “保留EXIF”也适用于PNG吗?
PNG分支未显式传递EXIF;目前主要用于JPG/JPEG和WebP,无法保证所有元数据。
9. 等于最小文件阈值的文件会被处理吗?
会,实际条件是原始字节数大于或等于KB值×1024,0表示不过滤。
10. 停止后的完成消息是否表示整个批次已结束?
这仅表示处理进入了最终汇总阶段;已经运行中的任务可能继续写入,停止时的统计可能是部分统计,因此请等待线程收尾后再关闭。




