Иллюстратор и Джаваскрипт
Любой человек с мозгом программиста противится рутинной работе. Он понимает в душе, что делает то, что должна делать машина. Достаточно ведь написать код один раз и завернуть в цикл.
Я обожаю придумывать дизайн графиков, диаграмм и таблиц, но все автоматические инструменты строят уродство, а не графики.
Иногда нужно табличные данные вставить и покрасить каждое значение оттенком, зависящим от этого значения. Иногда нужно во всей таблице взять и во всех значения после запятой оставить ровно два знака, набрав их шрифтом чуть меньше. Иногда нужно классы чисел разделить полупробелами. Иногда придуманный удачный формат для каких-то данных хочется опробовать для других данных (например, таблицеграфик каких-то спортивных результатов перестроить для другого матча или заплыва).
Всё это довольно муторная работа, которую хочется автоматизировать.
Так вот, кто-нибудь знает, как это сделать лучше всего? Кажется, адобовские программы как-то поддерживают Джаваскрипт. Как этим воспользоваться? Где задокументированна их объектная модель? Есть ли там консольный режим? Типа, пишешь команду — она сразу же выполняется по энтеру.
Хочется строить график в Иллюстраторе так:
Ну или что-то вроде того. То есть пишем, что хотим от машины, а не делаем это руками. Я чувствую, как вам хочется придраться к этому коду или придумать свой, но это никому не интересная хрень. Смысл в другом: захотели построить график Новергии — бац, построили. Решили, что 10 пикселей плохое расстояние — исправили на 12, перестроили. Захотели поставить восклицательный знак на графике каждый раз, когда его поднимает золотая медаль — дописали строчку. Захотели воткнуть грустный норвежский флаг везде, где проиграли золото Бьёрндалену — дописали ещё пару строчек.
Кто так умеет, научите меня, а?
Я обожаю придумывать дизайн графиков, диаграмм и таблиц, но все автоматические инструменты строят уродство, а не графики.
Иногда нужно табличные данные вставить и покрасить каждое значение оттенком, зависящим от этого значения. Иногда нужно во всей таблице взять и во всех значения после запятой оставить ровно два знака, набрав их шрифтом чуть меньше. Иногда нужно классы чисел разделить полупробелами. Иногда придуманный удачный формат для каких-то данных хочется опробовать для других данных (например, таблицеграфик каких-то спортивных результатов перестроить для другого матча или заплыва).
Всё это довольно муторная работа, которую хочется автоматизировать.
Так вот, кто-нибудь знает, как это сделать лучше всего? Кажется, адобовские программы как-то поддерживают Джаваскрипт. Как этим воспользоваться? Где задокументированна их объектная модель? Есть ли там консольный режим? Типа, пишешь команду — она сразу же выполняется по энтеру.
Хочется строить график в Иллюстраторе так:
if (line = document.layerNamed ('rus medals')) line.clear ()
else line = document.layers.add ('rus medals')
line.select ()
document.pen (0, 0)
for (i = 0; i <= 16; ++ i) {
document.pen (i * 10, -medalsByCountryAndDate ('RUS', i + 12))
}
Ну или что-то вроде того. То есть пишем, что хотим от машины, а не делаем это руками. Я чувствую, как вам хочется придраться к этому коду или придумать свой, но это никому не интересная хрень. Смысл в другом: захотели построить график Новергии — бац, построили. Решили, что 10 пикселей плохое расстояние — исправили на 12, перестроили. Захотели поставить восклицательный знак на графике каждый раз, когда его поднимает золотая медаль — дописали строчку. Захотели воткнуть грустный норвежский флаг везде, где проиграли золото Бьёрндалену — дописали ещё пару строчек.
Кто так умеет, научите меня, а?
Кстати, куда делась галочка «видно только автору блога»?
Некоторые, говорят, с успехом пользуются Processing, он поддерживает экспорт в вектор. И чудеса в нем действительно творят неземной красоты: http://www.generative-gestaltung.de/
Не совсем уловил смысл этой фразы. Каким образом первая часть предложения согласуется со второй? Это примерно тоже самое, что «я люблю ходить, но на улице дождь». Кроме того, в слове «стоят» буква «р» пропущена.
http://nodebox.net/code/index.php/Home
http://drawbot.com/
Там есть необходимые мануалы и примеры. Полученные картинки можно сохранить в векторном формате и открыть Иллюстратором.
http://scriptographer.org/
Это джаваскриптовый фреймворк для иллюстратора (насколько я понимаю), там люди свои инструменты пишут.
Синтаксис AdobeScript нужно искать на сайте самой Adobe, и он там был, когда я копал скрипты для Photoshop.
Генерить можно и джаваскриптом (http://dnv.net23.net/mstest.html).
Есть у них и более крутая штука, Visualization API (http://code.google.com/intl/ru/apis/visualization/interactive_charts.html), она так вообще полностью на джаваскрипте.