imagemagick mogrify命令在folder1中添加徽标保存并在folder2

时间:2017-07-30 14:10:23

标签: imagemagick mogrify

你好,如果有人想帮忙,那就太好了。 以下命令正在运行

mogrify -verbose -path / cygdrive / L / temp / og-rotate-logo -format jpg -draw'image over 0,0 0,0“/cygdrive/L/temp/logo.png”' - gravity southeast * .jpg -path / cygdrive / L / temp / 1200px -adaptive-resize 1200x1200 * .jpg

然而,它似乎有点难看,因为它首先制作所有徽标图像,然后处理这些图像的所有大小调整。

我的问题是有更好或更快的方法吗? 我一次正在处理数千张照片。

非常感谢任何帮助

同样,我正在使用cygwin和imagemagick运行Windows 7

1 个答案:

答案 0 :(得分:0)

嗯......嗯......一些想法:

  • 您的-format jpg是多余的,因为您的输入文件已经是JPEG

  • 您在命令中重复*.jpg,这是不正确的 - 您只需要一次

所以,尝试更像这样的东西:

mogrify -gravity southeast -path /cygdrive/L/temp/og-rotate-logo ^
   -draw 'image over 0,0 0,0 "/cygdrive/L/temp/logo.png"'        ^
   -adaptive-resize 1200x1200 *.jpg

我不使用Windows,但我相信^是上面的续行字符。

要回答您的实际问题,我建议您安装 GNU Parallel ,如果您有数千张图片需要处理,但我从未在Windows上使用它。

dir /b *.jpg | parallel -X mogrify -gravity southeast -path /cygdrive/L/temp/og-rotate-logo -draw 'image over 0,0 0,0 "/cygdrive/L/temp/logo.png"' -adaptive-resize 1200x1200 

您还可以通过将logo.png(仅一次)重新保存为MPC文件,然后在mogrify中使用该文件来获得一些性能:

convert /cygdrive/L/temp/logo.png /cygdrive/L/temp/logo.mpc

然后使用:

mogrify -gravity southeast -path /cygdrive/L/temp/og-rotate-logo ^
  -draw 'image over 0,0 0,0 "/cygdrive/L/temp/logo.mpc"'        ^
  -adaptive-resize 1200x1200 *.jpg

请在一个单独的测试目录中复制几个文件,然后继续处理它们,直到你对GNU Parallel和mogrify有更多的经验 - 它可能会造成非常大的混乱,非常快,并行。