【问题标题】:ImageMagick: How to resize proportionally with mogrify without a backgroundImageMagick:如何在没有背景的情况下使用 mogrify 按比例调整大小
【发布时间】:2012-09-14 23:40:06
【问题描述】:

我正在关注这个示例http://cubiq.org/create-fixed-size-thumbnails-with-imagemagick,这正是我想要对图像执行的操作,除了背景剩余部分(即白色边框)。有没有办法做到这一点,并可能裁剪出白色背景?还有其他方法可以做到这一点吗?调整大小需要成比例,所以我不想只设置宽度调整大小限制或高度限制,而是按比例调整图像大小。

【问题讨论】:

    标签: imagemagick mogrify


    【解决方案1】:

    您链接到的示例使用此命令:

    mogrify             \
      -resize 80x80     \
      -background white \
      -gravity center   \
      -extent 80x80     \
      -format jpg       \
      -quality 75       \
      -path thumbs      \
       *.jpg
    

    首先,mogrify 有点危险。它内联处理您的原件,并覆盖原件。如果出现问题,您会丢失原件,并且会被错误的结果所困扰。但是,在您的情况下,-path thumbs 减轻了这种危险,因为确保将结果写入子目录 thumbs

    另一个 ImageMagick 命令 convert 可以保留您的原件并执行与 mogrify 相同的操作:

    convert             \
       input.jpg        \
      -resize 80x80     \
      -background white \
      -gravity center   \
      -extent 80x80     \
      -quality 75       \
       thumbs/output.jpg
    

    如果想要相同的结果,但不是白色画布扩展(最初添加是为了使结果成为 80x80 方形图像),只需省略 -extent 80x80 参数(-background whitegravity center 也是多余的):

    convert             \
       input.jpg        \
      -resize 80x80     \
      -quality 75       \
       thumbs/output.jpg
    

    mogrify             \
      -resize 80x80     \
      -format jpg       \
      -quality 75       \
      -path thumbs      \
       *.jpg
    

    【讨论】:

    • 谢谢,Kurt,我会解决 mogrify 问题。我不太确定它和转换之间有什么区别,但我确实设置了 -path 以防万一。我当然不想覆盖主图像文件。
    【解决方案2】:

    我知道这是一个旧线程,但是通过使用 -write 标志和 -set 标志,可以写入同一目录中的文件而不会覆盖原始文件:

    mogrify -resize 80x80 \
    -set filename:name "%t_small.%e" \
    -write "%[filename:name]" \
    *.jpg
    

    http://imagemagick.org/script/escape.php 所述,%t 是不带扩展名的文件名,%e 是扩展名。所以 image.jpg 的输出将是一个缩略图 image_small.jpg。

    【讨论】:

      【解决方案3】:

      这是我每次想将所有内容批量调整为 1920x 并保持纵横比时使用的命令。

      mogrify -path 。 -resize 1920x1920 -format "_resized.jpg" -quality 70 *.jpg

      【讨论】:

      • 其实-resize 1920x1920保持纵横比,导致max(width,height)等于1920。
      猜你喜欢
      • 2021-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-03
      • 2013-05-12
      • 2013-01-08
      • 1970-01-01
      • 2018-09-14
      相关资源
      最近更新 更多