[AI CC2017] Очередной скрипт пакетного создания баннеров

Creative

12 лет на форуме
Сообщения
284
Благодарности
3
#1
Я решила бросить делать баннеры в Кореле и сделала аналогичный скрипт для Иллюстратора.
Что делает:
1. Создает произвольное (МАХ число не проверяла) количество файлов, загружая размеры из текстового файла.
2. Вычисляет требуемые размеры баннера с учетом натяжения материала, добавляет подвороты.
3. Расставляет метки под люверсы и рамку загиба.
4. Называет Артборд и файл именем вида "ширина х высота"
5. Если Баннер хотя бы по одному из измерений больше 5500мм - умножает все вводные на 0.1, создает файл в масштабе 1:10 и приписывает к имени файла постфикс SCALED (я планирую такие файлы открывать в Фотошопе и пересохранять для печати, а обычные - просто выгонять из Иллюстратора)
6. Можно выбрать цвет фоновой плашки и цвет меток.

Пакетное создание баннеров

Что в планах:
1. Хочу добавить возможность ставить в каждый баннер логотип из файла (видимо файл будет лежать в рабочей директории).
2. Хочу сделать текстовый фрейм, заполненный образцовым текстом (но тогда видимо нужно будет отдельно создавать бестекстовые баннеры на стены и фризы с текстом).
3. Думаю, не впихнуть ли в текстовый файл еще и название подразделения (чтобы оно прописывалось в имени, ибо вообще надо) и собственно текст для фризов (они все разные, чего я их буду руками ставить?).

Посмотрите, пожалуйста, - я точно что-то где-то упустила.
 
Сообщения
8
Благодарности
9
#2
Функция div сломана. Сошла бы для целых чисел, но у вас предполагаются floats. Cf. e.g. div( 98, 9.8 ), или прямо 98 % 9.8. Может "не нравится" стиль/архитектура (too many issues, на самом деле), но c "broken math" не поспоришь, люверса нету и приплыли. Смотрю в скрэтч-паде браузера, т.к. ExtendScript'а у меня здесь конечно нет, но думаю run-time C тот же.

За разъяснениями в таких случаях обычно отсылают к What Every Computer Scientist Should Know About Floating-Point Arithmetic

P.S. Но вот поди ж ты, рантайм-шрантайм, есть среды в которых modulo вещественных чисел также предусмотрен, но просто работает. Например, в J-консоли набираю:

(98 - 9.8 | 98 ) % 9.8
10


("%" это деление, "|" это residue i.e. modulo, но порядок аргументов обратный. Tolerance для сравнений сбросил в 0.)
 
Рейтинг@Mail.ru