V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
coolair
V2EX  ›  问与答

想把所有大于 100K 的图片压缩到 100K 以内,有什么好的办法吗?

  •  
  •   coolair · 2019-01-24 10:40:49 +08:00 · 3689 次点击
    这是一个创建于 2132 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Pillow 有办法 resize 图片时指定图片文件的大小(空间占用,比如:100K )而不是长宽大小吗?
    27 条回复    2019-01-24 21:24:01 +08:00
    Sanko
        1
    Sanko  
       2019-01-24 10:57:35 +08:00 via Android
    杠一下
    一张十几个 g 的图片你也要压倒 100k 一下?
    abbatuu
        2
    abbatuu  
       2019-01-24 10:59:37 +08:00
    ps 做一个批量处理
    lincanbin
        3
    lincanbin  
       2019-01-24 11:00:25 +08:00
    你可以用 bmp 格式来存,这样知道目标分辨率,对应的文件大小也就知道了。
    但是这样没有必要。

    其他压缩图片格式,压缩率都不是固定的(具体看信息论),只有实际压一压才知道。

    你可以设置一个终止条件,不满足条件,长宽 * 一个系数(比如 0.7 )继续压,压到满足条件为止。
    coolair
        4
    coolair  
    OP
       2019-01-24 11:01:26 +08:00
    @Sanko 都是手机传的照片,没有那么大的,最大也就 20M 左右吧。
    lookas2001
        5
    lookas2001  
       2019-01-24 11:05:15 +08:00 via Android
    二分答案一下,然后实际压缩压缩啥的。。。
    前提是文件大小随长宽增大单调递增。
    shenbo
        6
    shenbo  
       2019-01-24 11:09:21 +08:00
    试试这个

    http://www.rw-designer.com/picture-resize

    > PhotoResizeK20.exe - resize to approximate maximum size of 20kB.
    keith1126
        7
    keith1126  
       2019-01-24 11:09:44 +08:00
    @lincanbin 说的挺对的
    个人感觉用 bmp 存不太好,还是建议用他说的第二种方法,简单粗暴
    fnh
        8
    fnh  
       2019-01-24 11:13:39 +08:00
    可以啊,你把图片强制 320*320 像素
    16t
        9
    16t  
       2019-01-24 11:14:46 +08:00
    1M 是大于 100K,1GB 也是大于 100K,你这问题提问的没办法回答。
    tankb52
        10
    tankb52  
       2019-01-24 11:15:40 +08:00
    irfanview 可以直接转换为指定大小的文件。
    grewer
        11
    grewer  
       2019-01-24 11:19:17 +08:00
    可以压缩 但是图片质量会下降 最好的就是 能达到一个 大小和质量的一个最优值
    Vegetable
        12
    Vegetable  
       2019-01-24 11:20:31 +08:00 via iPhone
    参考缩略图的实现
    nutting
        13
    nutting  
       2019-01-24 11:35:15 +08:00
    lightroom 导出时候有这个大小选项
    zxq2233
        14
    zxq2233  
       2019-01-24 11:46:21 +08:00   ❤️ 3
    可以通过 qq 发给朋友。然后让朋友再发给你,这样腾讯会帮你压缩
    occam88
        15
    occam88  
       2019-01-24 13:39:13 +08:00
    @zxq2233 你真是个人才
    allenhu
        16
    allenhu  
       2019-01-24 13:44:18 +08:00 via Android
    这个不是普通意义上的 resize,再说,压成马赛克,有用吗?
    如果非有这个需求,可以先 resize 到 1x1,再 scale 到原始尺寸,应该不会超过你要的大小😀
    beinguser
        17
    beinguser  
       2019-01-24 13:45:54 +08:00
    photoshop,存储为网络格式,想压缩成 10k 都行
    mzlzero
        18
    mzlzero  
       2019-01-24 13:46:43 +08:00 via iPhone   ❤️ 4
    @zxq2233 只需要两个 qq 号,就能让腾讯帮我打工
    GeruzoniAnsasu
        19
    GeruzoniAnsasu  
       2019-01-24 14:25:05 +08:00
    > 允许 resize 吗
    > 大小范围有区间吗

    都 yes 的话我觉得写个脚本粗暴缩放就好了。。
    先转 比如 png,然后开始二分:比 100k 大就按文件大小比例调整长宽后从原图缩放出新图,重复这个过程直至逼近 100k 的最大长宽
    Sanko
        20
    Sanko  
       2019-01-24 14:25:23 +08:00 via Android
    @mzlzero 只需要一个贴吧账号,百度会给你压的更狠
    herozhang
        21
    herozhang  
       2019-01-24 14:48:54 +08:00   ❤️ 1
    用 imagemagick 的以下命令,可以指定文件输出大小
    convert original.jpeg -define jpeg:extent=300kb output.jpg
    elespec
        22
    elespec  
       2019-01-24 16:19:39 +08:00
    搜搜,大小排序,批量选择,导入光影魔术手,输出,限制文件大小为 100k;
    lewis04
        23
    lewis04  
       2019-01-24 16:27:18 +08:00
    用 lightroom 就可以批量处理 导出时可选择固定分辨率 或者文件大小
    wysnylc
        24
    wysnylc  
       2019-01-24 16:54:16 +08:00
    你是单个文件不能超过 100K 吧,把图片分割成 100K 的小文件,取的时候合并
    wolfie
        25
    wolfie  
       2019-01-24 17:02:02 +08:00
    kalboat
        26
    kalboat  
       2019-01-24 17:07:00 +08:00
    google webp 格式 了解下
    xfriday
        27
    xfriday  
       2019-01-24 21:24:01 +08:00
    楼主又没说无损压缩
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1205 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:31 · PVG 02:31 · LAX 10:31 · JFK 13:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.