使用ImageMagick批量调整图像大小并将图像输出到新文件夹

ric*_*ard 50 image imagemagick resize-image image-resizing mogrify

当前图像文件夹路径:

public_html/images/thumbs
Run Code Online (Sandbox Code Playgroud)

输出图像文件夹路径:

public_html/images/new-thumbs
Run Code Online (Sandbox Code Playgroud)

我在当前文件夹中每个视频有10个视频大拇指,以图像大拇指命名:

1-1.jpg
1-2.jpg
1-3.jpg
1-4.jpg
1-5.jpg (Resize)
1-6.jpg
1-7.jpg
1-8.jpg
1-9.jpg
1-10.jpg

2-1.jpg
2-2.jpg
2-3.jpg
2-4.jpg
2-5.jpg (Resize)
2-6.jpg
2-7.jpg
2-8.jpg
2-9.jpg
2-10.jpg
Run Code Online (Sandbox Code Playgroud)

我想将所有第5张图像(* - 5.jpg)调整为新文件夹.我试过下面的命令,但没有运气:

mogrify 
-path 
  public_html/images/thumbs/*-5.jpg 
-resize 16×12 
-quality 100 
  public_html/images/new-thumbs/*-5.jpg
Run Code Online (Sandbox Code Playgroud)

Dmi*_*nko 82

应该从具有原始缩略图的目录调用"Mogrify",而-path参数用于指向目标目录.

cd public_html/images/thumbs
magick mogrify -resize 16x12 -quality 100 -path ../new-thumbs *.jpg
Run Code Online (Sandbox Code Playgroud)

http://www.imagemagick.org/Usage/basics/#mogrify

最后一个参数是文件列表,因此您可以按名称pp*.jpg进行过滤.

  • 你是对的,但你也可以从任何目录调用`mogrify`,例如我将原始jpeg转换为png,其中包含`mogrify -path/destination/path/-adaptive-resize 5000 -unsharp 0x1 -format png/originary/path/*.jpeg` (12认同)
  • 请注意,您指向的输出目录*必须存在*,因为ImageMagick不会创建它们,从而导致"mogrify:无法打开图像"错误. (11认同)
  • 应该运行Magick进行迁移,而不是进行迁移 (2认同)
  • 太好了,我指定了“path”,但它仍然破坏了原始文件。我的命令行有问题吗?这是 Windows,因此有反斜杠: `mogrify -resize 2752 *.tif -path E:\1\ ` (2认同)
  • @VioletGiraffe,选项顺序很重要,它应该是这样的: `mogrify -resize 2752 -path E:\1\ *.tif` (注意 *.tif 在最后)。您尝试的就像传递图像[设置或运算符](/sf/ask/1860550961/),但是它不适用于 mogrify,_afaik_。 (2认同)

小智 9

建议的解决方案在最新的 ImageMagick 上无法正常工作(至少在 macOS 上)。覆盖源图像的命令如下:

magick mogrify -path ./ -resize 50% -quality 80 *.jpg

为避免覆盖原始图像,请写入新文件夹:

magick mogrify -path path/to/destination/folder/ -resize 50% -quality 80 *.jpg


vir*_*ous 5

在ImageMagick 7版本中,它内置于magick中。

magick mogrify -resize 16x12 -quality 100 -path ../new-thumbs *.jpg
Run Code Online (Sandbox Code Playgroud)

确保您在路径中指定的文件夹存在。它不会由ImageMagick创建。

在此处查找更多信息https://www.imagemagick.org/script/mogrify.php

  • @ashleedawg,如果没有`magick`,我在 Windows 的 ImageMagick 7 输出中得到“无法在 '..\\lib\imagemagick.tool\tools\mogrify.exe'` 处找到文件。请参阅 [**this answer**] (/sf/answers/2876639671/)了解详情。+1 从我到 mahesh madhusudan。谢谢。 (2认同)