Интерфейс командной строки

Интерфейс (API) удаленного создания схем на web-сервере по загружаемым фото.

Для автоматизации создания схем вышивки по фото без участия человека программа “Бисер и мулине с MyJane” имеет интерфейс командной строки. Конечно, это никак не заменит участие дизайнера-художника для создания сложных схем, но подойдет для создания небольших простых схем. Интерфейс может использоваться в связке с web-сервером, загружающим фотографии конечного пользователя для
— создания схем вышивки с заданными параметрами — размеры вышивки, палитра бисера и т.д.;
— вывода изображения вышивки со списком использованных цветов в графический файл (jpg).
Реализация интерфейса следующая. Программа принимает в качестве единственного параметра командной строки имя текстового файла с путем. В этом файле должны быть параметры с заданиями 2-х видов
— задание создания схемы вышивки;
— задание вывода изображения вышивки со списком использованных цветов в графический файл (jpg).

В этом случае программа создает заданные файлы (схема вышивки и ее графическое изображение) и завершает работу. При обнаружении ошибки программа записывает в конец текстового файла числовой код ошибки и ее текстовое описание.

Годовая подписка на программу с интерфейсом командной строки (API) составляет 15000 Российских рублей.

Пример текстового файла с 2-мя заданиями:

Строка в файле Значение
/preview Задание создания схемы вышивки
/original: «f:\ZAKAZ\lena_init.jpg» Файл оригинального изображения с путем. В результате будет создан файл схемы «f:\ZAKAZ\lena_init.bm
/num_bus:120×120 Размер схемы в бусинках 120×120
/size:2.5 Размер бусинки 2.5 миллиметра
/palitra: preciosa Палитра preciosa, находящаяся в папке стандартных бисерных палитр программы, напримерD:\MySoft\Бисер и мулине с MyJane\Bead\ preciosa.bpl
/max_color: 20 Использовать не более 20 различных цветов
/print Задание вывода графического изображения схемы
/respath: «f:\ZAKAZ\lena_maket.jpg» Файл графического изображения схемы вышивки
/line: 1 Обвести контуры бусин линией толщины 1
/signs: 1 Вывести символы цветов поверх бусин
/between: 1 В зазорах между бусин отобразить оригинальное изображение
/size_pr: 17×17 В изображении вышивки использовать бусину размером 17×17 пикселей
/vivod_side: right Вывести список использованных цветов (СИЦ) справа от вышивки
/fontname: Tahoma Имя шрифта СИЦ
/fontsize: 45 Размер шрифта СИЦ
/vivod_bus: 1 Выводить изображение бусинки в СИЦ
/vivod_sim: 1 Выводить символы цветов в списке использованных цветов
/vivod_cod: 1 Выводить MFG код цвета СИЦ
/vivod_pack: 1 Выводить число упаковок в СИЦ
/label: Заказ_N124 Перед СИЦ вывести текст-метку Заказ_N124
label_font: Verdana Текст-метку вывести шрифтом Verdana
/label_size:55 Размер шрифта текста-метки 55

 
Ниже приведен фрагмент созданного изображения схемы вышивки:
фрагмент изображения вышивки, созданного через API
 
Примечание. Для работы с данным интерфейсом необходимо купить специальный ключ интерфейса командной строки. В противном случае схема создается с надписью “Демо-версия”, а MFG-коды списка использованных цветов заменяются символом вопросительного знака.
 

Формат текстового файла интерфейса командной строки.

Текстовый файл интерфейса командной строки должен содержать одно задание создания схемы вышивки и дополнительно может содержать одно или два задания вывода графического изображения этой схемы. Задания должны быть разделены хотя бы одним пробелом или находиться в разных строках файла. Каждое задание состоит из нескольких пар <ключ  значение>, разделенных пробелами или находящихся в разных строках файла.
Порядок расположения ключей произвольный. Все ключи начинаются с префикса наклонной черты / и заканчиваются суффиксом двоеточие : После этого суффикса сразу или через пробел находится значение ключа. Например, /palitra: preciosa означает использовать палитру, находящуюся в файле preciosa.
 
Задание создания схемы вышивки.
В одном текстовом файле должно быть ровно одно задание создания схемы вышивки. Это задание начинается с ключа без параметров /preview. При отсутствии этого ключа в конец текстового файла дописывается код ошибки 1 и его описание «No preview option»

Далее расположены следующие ключи этого задания:
/original: «f:\ZAKAZ\lena_init.jpg» – имя файла оригинального изображения для создания схемы вышивки. Имя файла заключается в двойные кавычки. При отсутствии этого ключа в конец текстового файла дописывается код ошибки 2 и его описание «Parameter <original> doesn’t exist». При невозможности загрузить оригинальное изображение в конец текстового файла дописывается код ошибки 3 и его описание «Couldn’d load original image <filename>». В результате будет создан файл схемы вышивки программы в той же папке, с тем же именем и с расширением .bm. В данном случае это будет «f:\ZAKAZ\lena_init.bm»
 
num_bus: 120×120 – число бусин вышивки по ширине и по высоте, разделенных малой буквой x. Можно задать один параметр – максимальное общее число бусин в вышивке. В этом случае размеры схемы будут пропорциональны оригинальному изображению и общее число бусин будет максимально, но не больше заданного. Например, размер оригинального изображения 800 x 600 пикселей и задан ключ /num_bus: 7500; тогда будет создана схема размером 100 x 75 бусин. При отсутствии корректного значения этого ключа в конец текстового файла дописывается код ошибки 4 и его описание «Parameter <num_bus> doesn’t exist or not correct».
 
/palitra: preciosa – файл палитры для создания схемы. Здесь должно быть указано имя файла палитры без пути и расширения. Файл палитры должен находиться в папке стандартых бисерных палитр программы, например
D:\MySoft\Бисер и мулине с MyJane\Bead\ preciosa.bpl
При отсутствии корректного значения этого ключа в конец текстового файла дописывается код ошибки 5 и его описание » Parameter <palette> doesn’t exist or not correct».
 
/size: 2.5 – размер бусины в миллиметрах. При отсутствии корректного значения этого ключа в конец текстового файла дописывается код ошибки 6 и его описание «Parameter <size> doesn’t exists.»
 
/zazor: 0.1 – зазор между бусинами в миллиметрах. При отсутствии этого ключа используется нулевое значение зазора.
 
/max_color: 32 – максимальное число цветов палитры. При отсутствии этого ключа используется значение 48 цветов.
 
/color_: classic – вид преобразования цвета при создании схемы. Возможны значения: classic (классическое), soft (мягкое), contrast (контрастное) и exact (точное). При отсутствии этого ключа используется значение classic. При некорректном значении параметра в конец текстового файла дописывается код ошибки 7 и его описание «Wrong parameter <color_change> abcd».
 
/format: loom – формат схемы. Возможны значения: loom, 1peyote — 9peyote, brick, monastery, sacredbrick, и sacredpeyote. При отсутствии этого ключа используется значение loom. Для расшифровки значений см. описание возможных форматов схем, создаваемых программой. При некорректном значении параметра в конец текстового файла дописывается код ошибки 8 и его описание «Wrong parameter <format> lomn».
 
Иногда может быть ситуация, что какой-то цвет встречается в схеме всего лишь один раз. В этом случае для удобства комплектования набора вышивки может быть целесообразно заменить эту одиночную бусину другим использованным цветом, наиболее близким этому редкому. Для этого может быть задан следующий параметр
/min_num: 3 – заменить цвета, использованные 3 и менее раз (в схеме 3 и менее бусин этого цвета) на другой использованный цвет, наиболее близкий заменяемому цвету.
 
Для того, чтобы предотвратить чрезмерное сокращение цветов как писано выше, можно задать параметр
/min_color: 12 – заменять редко-использованные цвета (3 и менее для примера выше) до тех пор, пока в схеме более 12-ти различных цветов.
 

Задание вывода изображения вышивки со списком использованных цветов в графический файл.
 
В одном текстовом файле может быть одно или два задания вывода изображения вышивки в графический файл. Каждое такое задание начинается с ключа без параметров /print.
Далее расположены следующие ключи этого задания:
/respath: «f:\ZAKAZ\lena_maket.jpg» – полное графического файла вывода изображения вышивки. Имя файла заключается в двойные кавычки. Если этот параметр не задан, то используется следующее правило по-умолчанию – файл изображения располагается в папке расположения созданного файла схемы с расширением jpg. Для 1-го выводимого изображения к имени созданного файла схемы добавляется префикс _maket – например, был файл схемы ”f:\ZAKAZ\lena.bm”, будет создано графическое изображение «f:\ZAKAZ\lena_maket.jpg». Для 2-го выводимого изображения к имени созданного файла схемы добавляется префикс _prn – будет создано графическое изображение «f:\ZAKAZ\lena_prn.jpg».
 
/size_pr: MxN — размер бусинки в пикселях. По умолчанию 30х30.
 
/between: 1 – нужно ли отображать оригинальное изображение в зазорах между бусин. 0 не отображать, 1 отображать. По умолчанию 1.
 
/line: 1 – нужно ли отображать контур бусинки. 0 – не отображать, 1 – отображать толщиной 1 пиксель, 2 – отображать толщиной 2 пикселя, 3… По умолчанию 1.
 
/signs: 1 — нужно ли отображать знаки символы цветов палитры поверх бусин. 0 — не отображать, 1 — не отображать. По умолчанию 0.
 
/clear: MxN – нужно ли отображать изображение на листы. MxN – разбить на листы M по ширине и N по высоте. По умолчанию 0, не разбивать на листы.
 
/vivod_side: 0 – выводить ли список использованных цветов (СИЦ). 0 не выводить, right выводить справа от схемы, down выводить снизу от схемы. По умолчанию 0.
 
/fontname: Tahoma – имя шрифта СИЦ. По умолчанию Arial.
 
/fontsize: 12 – размер шрифта СИЦ. По умолчанию 14.
 
/vivod_sim: 1 – нужно ли выводить символ цвета в СИЦ. 0 не выводить. 1 выводить. По умолчанию 1.
 
/vivod_cod: 1 — нужно ли выводить MFG код цвета в СИЦ. 0 не выводить. 1 выводить. По умолчанию 1.
 
/vivod_pack: 1 – нужно ли выводить число упаковок в СИЦ. 0 не выводить. 1 выводить. По умолчанию 1.
 
/label: NAME – нужно ли выводить заданный текст NAME перед СИЦ. Если задан ключ без значения (/label:), то в качестве имени используется имя файла графического файла без пути и без расширения.
 
/label_font: Tahoma – имя шрифта заданного текста. По умолчанию Arial.
 
/label_size: 22 – размер шрифта заданного текста. По умолчанию совпадает с размером шрифта таблицы использованных цветов.

Вернуться к началу