我有一个包含相关ID号的数千个文本字符串的文件。我想获取每个不同的文本字符串并使其成为文本的JPG图像,并使用相关的ID号命名文件。
所有字符串最多为75个字符,因此我不需要担心图像的动态调整大小以补偿更长的字符串。我只想设置一个图像大小。
我使用Irfanview来满足我的大多数批量成像需求,并且考虑到它的灵活性,我认为有一种方法可以做到这一点。有谁知道如何做到这一点?
答案 0 :(得分:5)
我不相信Irfanview可以做到这一点 - 尽管我没有太多使用该程序。 Irfanview的命令行选项列表here,没有提及我可以看到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-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