Автоматизация в гарфических редакторах (нужно пронумеровать каждую картинку)

Софт под Linux, разные программы, но только связанные с Linux

Модератор: /dev/random

loki4
Сообщения: 115
ОС: GNU/Linux Arch Linux

Автоматизация в гарфических редакторах

Сообщение loki4 »

Добрый день.

Такая проблема. Есть макет дисконтной карты (в SVG, png, jpg). Нужно проставить на них порядковые номера, например, с 1 по 100 или больше и разнообразней, и сохранить их.

Сидеть в inkscape/gimp нет особого желания, а как по другому не знаю.
Что-нибудь умеет менять изображение из командной строки? А с башем я и сам разберусь. Может какой плагин к этому делу есть?

Спасибо.
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Автоматизация в гарфических редакторах

Сообщение Portnov »

imagemagick спасет отца русской демократии ;) Читайте convert --help.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
prokoudine
Сообщения: 688

Re: Автоматизация в гарфических редакторах

Сообщение prokoudine »

loki4 писал(а):
14.11.2006 19:17
Такая проблема. Есть макет дисконтной карты (в SVG, png, jpg). Нужно проставить на них порядковые номера, например, с 1 по 100 или больше и разнообразней, и сохранить их.... А с башем я и сам разберусь...
Сэр, а давайте-ка прикинем алгоритм в случае с SVG.

Вот у нас есть XML-ный файл, в котором есть текстовый объект, то есть попросту тэг, внутри которого некие данные. Требуется:

1. Открыть файл для чтения.
2. Найти тэг (скажем, по уникальному ID).
3. Поменять один текст на другой.
4. Экспортировать всё изображение в новый PNG.
5. Ещё раз один текст на другой.
6. Снова экспортировать всё изображение в новый PNG.
7. ... и так далее.

Остаётся лишь поставить Inkscape и прочитать вывод inkscape --help на предмет информации о ключиках -z, -e и -I.
Спасибо сказали:
loki4
Сообщения: 115
ОС: GNU/Linux Arch Linux

Re: Автоматизация в гарфических редакторах

Сообщение loki4 »

Спасибо за подсказки!

С imagemagickом с первого наскока ничего не получилось. Точнее из хелпа сразу и не понял, что и как делать, а примеров не нашел. Но все равно спасибо, буду знать, что за зверь.

С Inkscape получше. Только вот не понял, как пользоваться ключиком -I. prokoudine, можешь на примере подсказать как он работает?

В итоге получил следующее, вдруг кому поможет в личных целях. Код простой, но мне помог. Поиск и замену делал просто по шаблону, кавычки прихватил, чтоб наверняка :).

Код: Выделить всё

#!/bin/sh

for ((i=10; i<30; i++))
 do
  sed "s/>010</>0$i</" "card.svg" >> temp$i.svg
  inkscape -z --export-png=png/0$i.png temp$i.svg
 done

rm temp*.svg


Единственное, нужны были 3х значные числа, поэтому пришлось принудительно добавить нолик. Если кто знает, как решить - дайте знать.
Спасибо сказали:
Аватара пользователя
prokoudine
Сообщения: 688

Re: Автоматизация в гарфических редакторах

Сообщение prokoudine »

loki4 писал(а):
24.11.2006 20:38
С Inkscape получше. Только вот не понял, как пользоваться ключиком -I. prokoudine, можешь на примере подсказать как он работает?

Не могу, ни разу не пользовался :)

Кстати, если умеете писать на Python, Perl или Ruby, можно написать сценарий для самого Inkscape, которыйможно будет вызывать из GUI. Например, нарисовать текстовую рамку, в которую должен поместиться код, указать выключку (вправо, в данном случае), потом выбрать её и запустить сценарий, который будет по очереди вписывать туда цифры и экспортировать всю картинку.
Спасибо сказали: