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

寻找批量转换图片大小的方法--要求是按原图的百分比

  •  
  •   wuxiaomo · 2015-12-03 12:15:32 +08:00 · 4213 次点击
    这是一个创建于 3284 天前的主题,其中的信息可能已经有所发展或是发生改变。
    试了好多软件,只有 acdsee 有这功能,但是 acdsee 会把 png 图片的 alpha 通道变成黑色。。。真是很费解。
    不知道各位 有没有好办法?
    第 1 条附言  ·  2015-12-03 16:45:50 +08:00
    多谢各位的回答~~~
    靠大家的福,我用 xnview 和 faststone 联合起来解决了 这个问题。
    我知道为什么倒出来是黑色背景的原因了, png 是 8 位, 所以倒出来就变成黑色背景了,
    所以我先用 faststone 批量导成 32 位 png ,然后再用 xnview 批量单边百分比导出。

    各位回帖中,我最纳闷的是 ps 有按百分比导出吗?我是 cs6 ,如果能的话,望告知~~
    38 条回复    2015-12-04 08:08:32 +08:00
    jamesxu
        1
    jamesxu  
       2015-12-03 12:26:57 +08:00 via iPhone
    imagemagick
    SpicyCat
        2
    SpicyCat  
       2015-12-03 12:28:45 +08:00
    Imagemagic

    缩放单个文件: convert -resize 50% in.jpg out.jpg

    批量缩放,利用 find: $ find . -iname "*.jpg" -exec convert -resize 50% {} ../resize/{} \;
    需要建一个叫 resize 的目录,和当前目录平级,不能是当前目录的子目录,否则会失败

    如果不是 jpg ,是别的类型,自行修改扩展名

    在 Linux 上测试过, Win 上估计 Cygwin 可行?
    geeglo
        3
    geeglo  
       2015-12-03 12:29:09 +08:00
    FastStone Image Viewer 这个软件有批量转换功能。大部分参数都能自己定义,你可以试试。
    WIN 系统的。
    learnshare
        4
    learnshare  
       2015-12-03 12:29:27 +08:00
    IrfanView
    walkingway
        5
    walkingway  
       2015-12-03 12:34:12 +08:00
    OSX 系统的话,自带的 preview 就可以
    bycheng
        6
    bycheng  
       2015-12-03 12:49:31 +08:00
    PS 就可以啊,录一个动作,批量执行
    wuxiaomo
        7
    wuxiaomo  
    OP
       2015-12-03 12:55:56 +08:00
    @SpicyCat
    @jamesxu
    谢谢,我有个需求
    怎么 按照 某一边 resize ,比如我就想让 宽度 resize 20% ,而不是整个图片 ?
    wuxiaomo
        8
    wuxiaomo  
    OP
       2015-12-03 12:56:26 +08:00
    @bycheng PS 没有 百分比 放大缩小的吧? 我没找到
    wuxiaomo
        9
    wuxiaomo  
    OP
       2015-12-03 12:57:19 +08:00
    @geeglo 单个图片可以 按照某一边来缩放,但 批量 只能整个图片缩放 ,是这样吧?
    wuxiaomo
        10
    wuxiaomo  
    OP
       2015-12-03 12:57:56 +08:00
    @walkingway 呃。。。 能按百分比吗? 我的 mac 好像没看到啊
    66beta
        11
    66beta  
       2015-12-03 12:58:04 +08:00
    photoshop 录制动作,批处理
    wuxiaomo
        12
    wuxiaomo  
    OP
       2015-12-03 12:58:17 +08:00
    @learnshare 有批量功能吗? 下了一个好像不行
    Devin
        13
    Devin  
       2015-12-03 13:07:46 +08:00 via iPhone
    XnView 有批量转换图片大小功能
    oOpaopaoOo
        14
    oOpaopaoOo  
       2015-12-03 13:11:14 +08:00
    PS 或者 C1 ,批处理
    wuxiaomo
        15
    wuxiaomo  
    OP
       2015-12-03 13:16:29 +08:00
    @oOpaopaoOo PS 有按百分比吗? 好像只有大小吧 望赐教
    oOpaopaoOo
        16
    oOpaopaoOo  
       2015-12-03 13:22:14 +08:00
    @wuxiaomo 可以的,在图像大小里面,锁定宽高,按百分比缩放
    jacy
        17
    jacy  
       2015-12-03 13:24:34 +08:00
    EasyImageModifier.exe
    sennes
        18
    sennes  
       2015-12-03 13:25:59 +08:00 via iPhone
    🌝我说美图秀秀批量会有人打我吗
    duteng612
        19
    duteng612  
       2015-12-03 13:36:13 +08:00
    imagemagick

    在这里可以看看简单用法: http://www.zhihu.com/question/36546814/answer/70687843
    wuxiaomo
        20
    wuxiaomo  
    OP
       2015-12-03 13:37:14 +08:00
    @Devin 多谢
    xnview 可以的,我转 png 图片 ,用默认的 lanczos 采样方法,发现倒出来是黑色背景,以为又要走 acdsee 的老路了,改成临近像素 就有 alpha 通道了~~~
    多谢~~
    duteng612
        21
    duteng612  
       2015-12-03 13:37:46 +08:00
    @SpicyCat win 上也有 imagemagick, 可以直接在 cmd 上运行
    wuxiaomo
        22
    wuxiaomo  
    OP
       2015-12-03 13:38:00 +08:00
    @sennes 这个没有 百分比 功能,我试过了
    wuxiaomo
        23
    wuxiaomo  
    OP
       2015-12-03 13:38:22 +08:00
    @jacy 没有单边百分比缩放功能
    wuxiaomo
        24
    wuxiaomo  
    OP
       2015-12-03 13:38:56 +08:00
    @duteng612 没找到单边百分比缩放功能
    ayukun
        25
    ayukun  
       2015-12-03 13:40:38 +08:00
    ps 一个批处理就搞定了
    wuxiaomo
        26
    wuxiaomo  
    OP
       2015-12-03 13:42:16 +08:00
    @ayukun 有百分比吗? PS 找了半圈 没找到 只能是 固定大小吧
    ayukun
        27
    ayukun  
       2015-12-03 13:49:25 +08:00
    @wuxiaomo 当然有了 图像大小里调整,默认是锁定宽高比的
    geeglo
        28
    geeglo  
       2015-12-03 13:51:25 +08:00


    这样满足你的需要么。
    @wuxiaomo
    SpicyCat
        29
    SpicyCat  
       2015-12-03 13:53:32 +08:00
    @wuxiaomo 那就要写脚本了, -resize 接收两种参数,百分比和固定长宽,你的这种要求,就需要先得到当前图片的长宽,然后把宽度乘以 20%,再 resize 。相对麻烦点。
    duteng612
        30
    duteng612  
       2015-12-03 13:55:29 +08:00
    @wuxiaomo 有,单边按照百分比缩放

    高度缩放 50%: convert baidu.png -resize x50% small.png

    请参考 geometry 格式: http://www.imagemagick.org/script/command-line-processing.php#geometry
    learnshare
        31
    learnshare  
       2015-12-03 13:56:12 +08:00
    @wuxiaomo 文件--批量转换 /重命名,使用高级选项
    duteng612
        32
    duteng612  
       2015-12-03 14:02:03 +08:00
    @wuxiaomo 我在知乎上插了一张图,你可以看下,实现你要的单边百分比缩放。
    http://www.zhihu.com/question/36546814/answer/70687843
    davidyin
        33
    davidyin  
       2015-12-03 14:49:35 +08:00
    Picasa 也可以啊。
    aec4d
        34
    aec4d  
       2015-12-03 16:39:16 +08:00
    https://github.com/Ficapy/single/blob/master/image_resize.py
    用 python 调用 imagemagick 写过一段脚本
    aec4d
        35
    aec4d  
       2015-12-03 16:45:09 +08:00
    哦 看错了 要求是修改图片尺寸大小不是文件大小 改一下就好了 我写的是使用二分法将图片文件大小转换到某一个靠近的数值
    wuxiaomo
        36
    wuxiaomo  
    OP
       2015-12-03 16:46:17 +08:00
    @geeglo 其实不行~~~
    bycheng
        37
    bycheng  
       2015-12-03 21:41:44 +08:00 via Android
    PS 可以等比例缩小图片的,在“图像”中打开“图像大小”,“像素”那栏下拉选择百分比,然后前面就可以输入比值了。批量操作可以参考这个→http://jingyan.baidu.com/article/14bd256e129a20bb6d2612a5.html?st=2&from=&ssid=&net_type=&bd_page_type=1&os=0&rst=
    wuxiaomo
        38
    wuxiaomo  
    OP
       2015-12-04 08:08:32 +08:00
    @bycheng 啊呀 多谢,原来躲在像素那里 真是走了好多弯路
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5466 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 07:53 · PVG 15:53 · LAX 23:53 · JFK 02:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.