【问题标题】:Batch resize one image in multiple sizes with ImageMagick使用 ImageMagick 以多种尺寸批量调整一张图像的大小
【发布时间】:2021-09-21 12:01:23
【问题描述】:

我在使用 PowerShell 的 Windows 10 上,我正在尝试使用运行以下命令的 ImageMagick 以多种尺寸批量调整一个图像的大小:

对于我在 554 612 640 664 706 728 750 780 828 856 1536 1668 2048;做 mogrify -resize "$i" -write Portrait"$i".jpg 2048.jpg;完成

554 612 640 664 706 728 750 780 828 856 1536 1668 2048 是我想在保持纵横比的同时调整图像大小的宽度; 我的输入图像名称是'2048.jpg'; 运行此代码的输出是 .jpg 文件,名称分别为:portrait554.jpg、portrait612.jpg、portrait640.jpg 等。

不幸的是,我收到了这个错误: + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : MissingOpenParenthesisAfterKeyword

不幸的是,我不太擅长使用命令行来理解我做错了什么。有人可以帮帮我吗?

【问题讨论】:

  • legacy.imagemagick.org/Usage/files/#write。在 Windows 上删除括号前的 \ 并将行尾更改为 ^。我不确定 Powershell 还需要什么。
  • 谢谢@fmw42 我已经尝试过你的解决方案,但最后我决定在每一行都使用转换,我将在下面发布它现在正在工作的内容,以防有人需要它

标签: imagemagick


【解决方案1】:

我找到了一个适用于 Windows 10 和 PowerShell 的解决方案,以防有人需要。我决定使用 convert 而不是 mogrify - 因为 mogrify 可能会删除已处理的文件,并且如果我愿意,我可以同时处理一个文件 - 而且我已经应用了我发现的最佳 jpeg 优化设置,也适用于 webp。这是命令。

cd 到你的目录,然后:

magick convert 2048x2732.jpg -format jpeg -sampling-factor 4:2:0 -strip -quality 80 -interlace Plane -gaussian-blur 0.05 -colorspace RGB -write 2048.jpg magick convert 2048x2732.jpg -resize 1668 -format jpeg -sampling-factor 4:2:0 -strip -quality 80 -interlace Plane -gaussian-blur 0.05 -colorspace RGB -write 1668.jpg magick convert 2048x2732.jpg -resize 1536 -format jpeg -sampling-factor 4:2:0 -strip -quality 80 -interlace Plane -gaussian-blur 0.05 -colorspace RGB -write 1536.jpg ... 空:

magick 转换 2048x2732.jpg -format webp -quality 80 -write 2048.webp 魔法转换 2048x2732.jpg -resize 1668 -format webp -quality 80 -write 1668.webp 魔法转换 2048x2732.jpg -resize 1536 -format webp -quality 80 -write 1536.webp 魔法转换 2048x2732.jpg -resize 856 -format webp -quality 80 -write 856.webp ... 空:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-11
    • 2012-12-16
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-06
    相关资源
    最近更新 更多