【问题标题】:How i can use this command of Imagemagick in a batch file process?我如何在批处理文件过程中使用 Imagemagick 的这个命令?
【发布时间】:2021-12-02 01:29:05
【问题描述】:

我正在尝试使用以下 Imagemagick 命令在每个图像下方添加标题:

convert 3_1.jpg   -background Khaki  label:"@3_1.txt" -gravity Center -append 3_1_text.png

这很好,得到了这个:

figure with label below

基本上我使用一个名为 e.g. 的图像文件。 xxx.jpg 并从具有相同名称的文本文件 (xxx.txt) 添加标题。 我现在要做的是相同的过程,但是对于文件夹中的一堆 jpg 文件,使用批处理。我有以下文件夹:

folder with JPGs and text files

所以我想制作一个批处理文件,用他各自的 txt 文件处理每个图像,并理想地将所有输出保存在特定目录中。

在此先感谢您,并致以最诚挚的问候,

豪尔赫

【问题讨论】:

  • 简单的命令来迭代目录中的所有文件:FOR %%G IN (*.jpg) DO command。变量%%G 将保存文件名。
  • Squashman 建议的简单解决方案是:for %%G in (*.jpg) do "C:\ImageMagick\Path\convert.exe" "%%G" -background Khaki label:"@%%~nG.txt" -gravity Center -append "%%~nG_text.png"

标签: batch-file imagemagick imagemagick-convert


【解决方案1】:

我修改了第三个答案的代码,它完成了工作:

@ECHO OFF FOR %%G IN (*.jpg) DO convert %%G   -background Khaki  label:"@%%~nG.txt" -gravity Center -append "%%~nG_text.png"

它就像魅力一样!

【讨论】:

  • 如果任何 JPEG 文件包含空格或其中一个字符 &()[]{}^=;!'+,`~,它将不再像魅力一样工作。为什么您没有完全使用我发布的代码,将"C:\ImageMagick\Path\convert.exe" 修改为convert 的完整限定文件名(驱动器+路径+名称+扩展名)包含在" 中的硬盘上?
  • 啊。我只是想保持我的代码风格,没有特别或重要的原因。不知道空格或特殊字符的情况,但是,我将使用的所有 JPEG 都没有空格或特殊字符。无论如何,请为您喝彩!非常感谢! c:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多