V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
coolair
V2EX  ›  问与答

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

  •  
  •   coolair · Jan 24, 2019 · 4434 views
    This topic created in 2662 days ago, the information mentioned may be changed or developed.
    Pillow 有办法 resize 图片时指定图片文件的大小(空间占用,比如:100K )而不是长宽大小吗?
    27 replies    2019-01-24 21:24:01 +08:00
    Sanko
        1
    Sanko  
       Jan 24, 2019 via Android
    杠一下
    一张十几个 g 的图片你也要压倒 100k 一下?
    abbatuu
        2
    abbatuu  
       Jan 24, 2019
    ps 做一个批量处理
    lincanbin
        3
    lincanbin  
       Jan 24, 2019
    你可以用 bmp 格式来存,这样知道目标分辨率,对应的文件大小也就知道了。
    但是这样没有必要。

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

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

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

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

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