Sag*_*ean 1 image-processing batch-processing 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
Run Code Online (Sandbox Code Playgroud)
然后你可以运行这样的东西
#!/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
Run Code Online (Sandbox Code Playgroud)
你会得到这个
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
Run Code Online (Sandbox Code Playgroud)