You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何压缩JPG图片使按大小排序与按名称排序一致

批量调整JPG大小实现名称排序与大小排序一致

以下是几种高效的批量处理方案,无需手动操作:

方法1:使用ImageMagick(跨平台)

先确保安装ImageMagick,然后用脚本批量处理:

# 设置基础大小(10KB)和每个文件的大小增量(5KB)
base_size=10240
increment=5120

for i in {01..24}; do
  # 计算当前文件的目标大小
  target_size=$((base_size + (10#$i - 1)*increment))
  # 压缩图片至目标大小附近
  convert "$i.jpg" -define jpeg:extent=${target_size}B "$i_resized.jpg"
done
  • 说明:jpeg:extent参数会将图片压缩到指定大小以下,接近目标值。可根据实际情况调整基础大小和增量,确保编号大的文件体积始终大于前一个。

方法2:使用ffmpeg(跨平台)

安装ffmpeg后,通过调整JPG质量控制体积:

# 初始质量(31为最低质量、最小体积),每个后续文件质量降低1(体积增大)
base_q=31
q_decrement=1

for i in {01..24}; do
  quality=$((base_q - (10#$i - 1)))
  # 确保质量不低于最高阈值1
  [ $quality -lt 1 ] && quality=1
  ffmpeg -y -i "$i.jpg" -q:v $quality "$i_resized.jpg"
done
  • 说明:ffmpeg的-q:v参数范围1-31,值越小质量越高、体积越大,因此编号越大的文件质量设置越高,体积自然更大。

方法3:Python脚本(精准控制)

借助PIL库实现更灵活的大小控制,先执行pip install pillow安装依赖:

from PIL import Image
import os

# 配置参数
base_size_kb = 10
increment_kb = 5
input_dir = "./"
output_dir = "./resized"

os.makedirs(output_dir, exist_ok=True)

for i in range(1, 25):
    filename = f"{i:02d}.jpg"
    input_path = os.path.join(input_dir, filename)
    output_path = os.path.join(output_dir, filename)
    
    if not os.path.exists(input_path):
        continue
    
    target_size = (base_size_kb + (i-1)*increment_kb) * 1024
    quality = 85
    img = Image.open(input_path)
    
    # 先通过调整质量接近目标大小
    while True:
        img.save(output_path, "JPEG", quality=quality)
        file_size = os.path.getsize(output_path)
        if file_size <= target_size or quality <= 10:
            break
        quality -= 5
    
    # 若质量调整后仍过大,缩小图片尺寸
    while file_size > target_size:
        width, height = img.size
        img = img.resize((int(width*0.9), int(height*0.9)), Image.Resampling.LANCZOS)
        img.save(output_path, "JPEG", quality=quality)
        file_size = os.path.getsize(output_path)
  • 说明:脚本会先调整图片质量,若仍无法达到目标大小则逐步缩小尺寸,确保每个文件体积严格按编号递增。

注意事项

  • 操作前务必备份原图片,避免数据丢失
  • 可先测试1-3张图片,调整基础大小和增量参数,找到适合的数值
  • 不同图片原始内容差异可能导致体积波动,增量可适当设大,确保排序顺序不会颠倒

内容的提问来源于stack exchange,提问作者pragmatrick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 05:42:40