Пакетное создание изображений из текстового файла с Irfanview?
У меня есть файл из нескольких тысяч текстовых строк с соответствующим идентификационным номером. Я хочу взять каждую отдельную текстовую строку и сделать ее JPG-изображением текста, а также получить имя файла с соответствующим идентификационным номером.
Все строки содержат не более 75 символов, поэтому мне не нужно беспокоиться о динамическом изменении размера изображения, чтобы компенсировать более длинные строки. Я просто хотел бы установить один размер изображения.
Я использую Irfanview для большинства моих потребностей в пакетной визуализации, и, учитывая его гибкость, я предполагаю, что есть способ сделать это. Кто-нибудь знает, как это можно сделать?
1 ответ
Я не верю, что это возможно с 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