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

时间:2013-01-13 14:34:41

标签: image imagemagick image-resizing resize-image mogrify

当前图片文件夹路径:

public_html/images/thumbs

输出图像文件夹路径:

public_html/images/new-thumbs

我在当前文件夹中每个视频有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

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

mogrify 
-path 
  public_html/images/thumbs/*-5.jpg 
-resize 16×12 
-quality 100 
  public_html/images/new-thumbs/*-5.jpg

4 个答案:

答案 0 :(得分:71)

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

cd public_html/images/thumbs
mogrify -resize 16x12 -quality 100 -path ../new-thumbs *.jpg

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

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

答案 1 :(得分:3)

在ImageMagick 7版本中,它内置于魔法......所以......

magick mogrify -resize 16x12 -quality 100 -path ../new-thumbs *.jpg

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

答案 2 :(得分:2)

对于那些在Ubuntu / Debian上安装Shotwell的人来说,通过根据需要处理图像,可以更容易地将文件夹中的选定图像导出到另一个文件夹。

  • 打开Shotwell
  • 选择要导出的图像
  • 文件>导出
  • 根据需要调整值
  • 选择要导出的文件夹

答案 3 :(得分:2)

建议的解决方案在最新的ImageMagick上(至少在macOS上)无法正常工作。 有效的命令(将重写源图像!!!):

const val = event.target.value.toLowerCase();
const keys = bject.getOwnPropertyNames(myObject).slice(1,9);

const temp = this.temp.filter(function(d) {
      keys.forEach(key => {
        console.log(`Comp : ${d[key].toString().toLowerCase().indexOf(val) !== -1 || !val}`)
        return (d[key].toString().toLowerCase().indexOf(val) !== -1 || !val)
      });

    }
相关问题