图片压缩麻烦?看看我开发的免费一键批量压图

闷墩压图(静默版 & 图形版)

一键批量压缩图片,体积立刻变小,画质依旧清晰。适合外贸产品图、运营素材、证书图、网站上传、邮件附件。

20260122更新v2:增加按尺寸压缩选项

你能得到什么
:white_check_mark: 批量处理:拖进来一堆图片/文件夹,自动跑完
:white_check_mark: 更小体积:支持 JPEG / WEBP / PNG(WEBP超省空间)
:white_check_mark: 更省心:默认原目录输出,自动加前缀不覆盖原图
:white_check_mark: 更专业:深浅主题、进度条、状态提示、日志不怕丢图


版本说明
① 图形版(推荐|专业好用)
适合日常办公:可视化选择、拖拽、参数可调,一看就会。
② 静默版(效率党|无人值守)
适合批量/自动化:放到文件夹里双击跑、配合脚本/任务计划更爽。

闷墩压图pro(全免费)

渡盘: https://pan.baidu.com/s/17QYC8S34Ai5dmyOz3GxEEQ?pwd=2n44
提取码: 2n44

夸克:https://pan.quark.cn/s/abc2d5d9572b

视频介绍:

【闷墩免费图片压缩,一键腾出一大半空间】 https://www.bilibili.com/video/BV1XQ6mBWEHz/?share_source=copy_web&vd_source=41a7bbda8bc6eea34b25659bd2679e13

我个人的很多图片/照片都用xnConvert转到avif/jxl格式了,几乎无损,而且体积小很多很多。

1 个赞

JPG的压缩,之前一直用的是“Caesium”,虽然操作很方便,但是还是觉得麻烦,于是自己用“SixLabors.ImageSharp”写了一个程序,参数都是调节好的,文件或者文件夹拖拽进去就按照我的参数完成压缩,重命名等一系列操作

话说看截图,你这里似乎不支持调节图片尺寸?要不要加一个?毕竟很多的高清图片都是6K甚至8K的,我自己写的程序,会把他们等比例缩放到不大于2048PX,可以有效减少尺寸。

至于你说缩放之后会影响画质,话说咱都jpeg了,画质能接受就行了呗。而且,而且放到1080P的屏幕下,完全看不出差别。反正我就存个专辑封面,搞得那么清晰干什么

回头研究下这两种格式,之前是因为网站限制图片大小想起写这个的

谢谢提醒,静默版要高效是尺寸和dpi一起降,图形版调了半天参忘了尺寸这回事了,下一版加上

我也在把图片转jxl,用XL-converter ,可保留exif,jpg和jxl能互相无损转换,体积减少20%。

是不是我理解错了,为什么会出现DPI?我们在处理的是电子版的图片吧

1 个赞

你这python写的给我看的脑仁疼……

建议如下:

  1. 重新使用nuitka编译为单文件,参考命令行:uv run python -m nuitka --standalone --onefile --enable-plugin=tk-inter --windows-console-mode=disable --output-dir="D:\Downloads\nuitka_build" main.py

  2. gui完全没适配高dpi,明明tkinter支持的,你连调用都不调用……
    参考代码:

    try:
        ctypes.windll.shcore.SetProcessDpiAwareness(1)
    except Exception:
        try:
            ctypes.windll.user32.SetProcessDPIAware()
        except Exception:
            pass
    
    root = tk.Tk()
    
    try:
        dpi = ctypes.windll.user32.GetDpiForSystem()
        root.tk.call("tk", "scaling", dpi / 72.0)
    except Exception:
        pass
    
    font_style = ("Microsoft YaHei", 10)
    
    style = ttk.Style()
    if "vista" in style.theme_names():
        style.theme_use("vista")
    style.configure(".", font=font_style)
    
    root.option_add("*Font", font_style)
    root.option_add("*Label.Font", font_style)
    root.option_add("*Button.Font", font_style)
    root.option_add("*Entry.Font", font_style)
    root.option_add("*Text.Font", font_style)
    root.option_add("*Listbox.Font", font_style)
    

    文字清晰程度对比

  3. 界面太简陋,你的那个质量进度条竟然不能告诉我具体压缩了多少,质量到底是多少,纯靠用户猜,你的所有进度条都有这个破问题

  4. 这种小东西建议与现在GitHub烂大街的图片压缩工具相比有何优点?我是没看出来,功能不全、程序运行效率也没打过用cpp写的,界面不美观,没适配高分屏,文件名啥的也显而易见的没做错误处理

  5. 反正全都是调库,你甚至用了python调PIL,还没用nuitka打包,本来python效率就不如什么cpp、rust、c,你还不用cpython重编译代码,执行效率折上折

  6. 你写的程序到底是怎么拼接目录与文件名的?!你告诉我这是什么东西???

    PixPin_2026-01-22_14-27-28

  7. 文件列表竟然添加了以后就不能删除也不能修改,只能整体清空,服了

  8. 文件名相同时直接覆盖了上次的输出,没有任何询问,高危行为。

  9. 运行完毕后竟然不清空当前列表的文件?

  10. 不能中止当前进程,一旦开始无法结束

  11. 我的exif信息呢???也没个提醒?

  12. 那我问你,你在简介里面写的“日志不怕丢图”到底是什么意思?日志里面有图片备份?日志里面有错误信息?我也没看到日志啊

  13. 转换完成后,弹窗应该跳出来允许用户打开输出目录或输出图片的……现在还得手动打开,要了老命了

总之,建议UI回炉重做、重写程序添加文件路径的逻辑,增加众多界面交互逻辑,整明白PIL库压缩图片的各个参数,让人能手动调整参数、使用nuitka重编译、写明白简介、覆盖图片时增加提示。此外,建议专业版具备squoosh 80%以上的功能再叫专业版……

1 个赞

体积确实无敌,只是兼容性太差,等啥时候微信支持了再说(

不知道怎么通俗表达,可意会就行 :laughing:

谢谢详细测试,受益匪浅。专业版是相对于静默版起的名字,叫什么都行。工具符合我的使用习惯,要大改得空了来

问题就是它不能意会,DPI是Dots Per Inch,也就是每英寸打印的墨水点数。你这个是电子压缩,那有什么墨水数?

或许你说打错了,是PPI。但是PPI是每英寸像素数,是处理显示器或者手机等电子显示时讨论画面细腻程度的。

我看到DPI的时候一脸懵逼,完全不知道那是个啥

xnConvert真的好用啊

谢谢!

重复轮子啊…是在浪费自己的精力
如果是练手就当我没说

涉及简单图片转换的, 先看看XnView和IrfanView能不能做

我平时都用XnView的, 直接用保存的脚本, 起码参数不用重输参数, 可以真"一键"的
日常需要的功能除了压缩, 裁剪, 旋转, 扩大画布, 缩放也很常用的吧

xnconvert提示“使用多个CPU内核”设置已禁用,请教怎么破