我有一个包含数千个带有关联 ID 号的文本字符串的文件。我想获取每个不同的文本字符串并使其成为文本的 JPG 图像,并使用关联的 ID 号命名文件。
所有字符串最多为 75 个字符,因此我无需担心图像的动态大小以补偿较长的字符串。我只想设置一个图像大小。
我使用 Irfanview 来满足我的大部分批量成像需求,鉴于它的灵活性,我认为有办法做到这一点。有谁知道如何做到这一点?
我有一个包含数千个带有关联 ID 号的文本字符串的文件。我想获取每个不同的文本字符串并使其成为文本的 JPG 图像,并使用关联的 ID 号命名文件。
所有字符串最多为 75 个字符,因此我无需担心图像的动态大小以补偿较长的字符串。我只想设置一个图像大小。
我使用 Irfanview 来满足我的大部分批量成像需求,鉴于它的灵活性,我认为有办法做到这一点。有谁知道如何做到这一点?
我不相信 Irfanview 可以做到这一点——尽管我没有太多使用该程序。这里有一个 Irfanview 的命令行选项列表,没有提到我可以看到的label
,text
或annotate
.
我只能推荐 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 方式来读取文本文件,我可以尝试并报告回来,但 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