使用 Irfanview 从文本文件批量创建图像?

Batch create images from text file with Irfanview?

我有一个包含几千个文本字符串的文件以及相关的 ID 号。我想获取每个不同的文本字符串并将其制成文本的 JPG 图像,并使用关联的 ID 号命名文件。

所有字符串最多 75 个字符,因此我无需担心图像的动态大小来补偿较长的字符串。我只想设置一个图片大小。

我使用 Irfanview 来满足我的大部分批量成像需求,鉴于它的灵活性,我认为有一种方法可以做到这一点。有谁知道如何做到这一点?

我认为 Irfanview 不可能做到这一点 - 尽管我没有经常使用该程序。 Irfanview 的命令行选项列表 here,我看不到 labeltextannotate.

我只能推荐 ImageMagick,它是免费的,可用于 Linux、OSX 和 Windows。

如果您的输入文件名为 IdAndText.txt 并且如下所示:

id123456:Some text
id987654:Some different text, and a comma
id111222:Yet more stuff

然后你可以运行像这样

#!/bin/bash
while IFS=":" read id text; do
   convert -size 1000x250 xc:black -fill yellow -pointsize 36 -gravity center -draw "text 0,0 '$text'" $id.png
done < IdAndText.txt

你会得到这个

id123456.png

id987654.png

id111222.png

有一种疯狂的 Windows-y 读取文本文件的方式,我可能会尝试并报告回来,但 ImageMagick 部分与 Windows 中或多或少相同.

在Windows中是这样的:

FOR /F "delims=: tokens=1,*" %%A IN (IdAndText.txt) DO convert -size 1000x250 xc:black -fill yellow -pointsize 36 -gravity center -draw "text 0,0 '%%B'" %%A.png