Пакетное создание изображений из текстового файла с 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
Другие вопросы по тегам