【问题标题】:Batch create images from text file with Irfanview?使用 Irfanview 从文本文件批量创建图像?
【发布时间】:2015-06-13 21:48:31
【问题描述】:

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

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

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

【问题讨论】:

  • 我想你是在 Windows 上?您的输入文件看起来如何 - 可能显示几行。是否愿意使用 ImageMagick 和/或 Linux?

标签: image-processing batch-processing irfanview


【解决方案1】:

我不相信 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

【讨论】:

  • 马克,非常感谢您的解决方案,我会尝试它,因为我需要多次这样做。我找到了一种(效率较低的)方法。
  • 马克,非常感谢您的解决方案,我会尝试的。我以前用 imagemagick 做过一些工作,但不是太多。我找到了一种使用 irfanview 的(效率较低的)方法。它实际上具有利用文件名的文本覆盖功能。我进行了实验并找到了可以使用它的完美尺寸图片(最多 80 个字符为 400x200)。然后我使用 CMD 复制了该文件的 826 个副本。然后,我创建了一个批处理脚本,用我需要的每一行文本重命名每个文件。然后我运行 Irfanview 来制作图像,并运行另一个批处理脚本以使用适当的 ID 重命名。
  • 很高兴你把它整理好了。请考虑接受我的答案(通过单击计票旁边的空心绿色勾号/检查标记),或者写下并发布您自己的答案并接受,这样其他用户就不会认为该问题没有答案并且他们可以看到一种方法这样可行。祝你好运。
猜你喜欢
  • 2011-12-31
  • 2016-06-08
  • 1970-01-01
  • 2014-05-15
  • 1970-01-01
  • 2010-09-17
  • 2014-02-12
  • 2011-12-16
  • 2019-06-18
相关资源
最近更新 更多