[AI CC-CC2021] Скрипт красит заливки в цвет обводок, а толщину обводок обнуляет

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Откройте скрипт в ESTK и сохраните как бинарник в jsxbin
Вполне возможно, что бинарник будет работать еще быстрее

это с чего вдруг?

вопрос практически по теме - как максимально быстро и эффективно получить список всех используемых цветов в документе? не свотчей, разумеется
 

DrEgor

Участник
Сообщения
774
Реакции
68
это с чего вдруг?

вопрос практически по теме - как максимально быстро и эффективно получить список всех используемых цветов в документе? не свотчей, разумеется
а чем свотчи не подходят? по сути это и есть набор доступных/используемых цветов в документе...
очистите список и ... add used color
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 203
Реакции
10 848
это с чего вдруг?
Ну (искать лениво), но вроде, во всех факах по оптимизации адобовских скриптов советуют згнать код в бинарник и вызывать его. Кэп тоже робко предполагает, что бинарный код разбирать на синтаксические конструкции не надо, что, впрочем, делается один раз в начале. 'hmmm'
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 203
Реакции
10 848

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Ну (искать лениво), но вроде, во всех факах по оптимизации адобовских скриптов советуют згнать код в бинарник и вызывать его. Кэп тоже робко предполагает, что бинарный код разбирать на синтаксические конструкции не надо, что, впрочем, делается один раз в начале. 'hmmm'

так это же не бинарник никакой, а просто текст закодированный типа в base64, нет?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 203
Реакции
10 848
так это же не бинарник никакой, а просто текст закодированный типа в base64, нет?
Вот еще один орден розового зверька ожидает своего вручения '))'
Я помнится лично тебе когда то читал подробкую лекцию как устроен JSXBIN '))'
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 203
Реакции
10 848
по сути это и есть набор доступных/используемых цветов в документе...
Нет
Дофига разных незаметных цветов используется (маски, кисти, встроенная графика и т.д) которые при Add used не переходят в свотчи
А так бы проблема имела элементарное решение
 

DrEgor

Участник
Сообщения
774
Реакции
68
Нет
Дофига разных незаметных цветов используется (маски, кисти, встроенная графика и т.д) которые при Add used не переходят в свотчи
А так бы проблема имела элементарное решение
вот на счет встроенной графики я сомневаюсь... попиксельно что ли цвета мониторить? :)
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 203
Реакции
10 848
сохраните как svg - в нем ищем fill и stroke
Тогда правильнее EPS
Но все равно не то - при экспорте в любой ненативный формат графика упрощается
Самый идеальный случай - только парсить Private Data распакованного AI
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 203
Реакции
10 848
вот на счет встроенной графики я сомневаюсь... попиксельно что ли цвета мониторить?
В смысле векторной
Там помимо встроенной полно всякоразных PluginObject в которых свои цвета
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
встроенную графику и pluginObject и скриптом не посмотреть все равно, это-то пофиг. сохранять как-то не очень тоже вариант.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Вот еще один орден розового зверька ожидает своего вручения '))'
Я помнится лично тебе когда то читал подробкую лекцию как устроен JSXBIN '))'

не помню что-то, где? напомни вкратце, что там. мне казалось что это просто зашифрованный текст JSX

какой-то их собственный компилированный P-code, завернутый, опять же, в некое подобие Base64

а, ну если так. все равно впрочем не думаю что это дает серьезный прирост производительности.
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 203
Реакции
10 848
мне казалось что это просто зашифрованный текст JSX
Нет, это утку пустили ламеры когда то очень давно.
Вот же тема была здесь.
Реально же бинарник ассемблируется примерно так
Код:
00000010:  Function{ -1
00000013:    Statements{ -1  {}  0  {  }  0  {  }  3  {
0000001A:      ExprStatement{ 0  {}  0  {  }
0000001E:        LocalAssign{"str1" -1  {} "Hello, World!" false  true
0000004A:        }
0000004A:      }
0000004B:      ExprStatement{ 1  {}  0  {  }
0000004F:        LocalAssign{"str2" -1  {} "Goodbye, World!" false  true
00000081:        }
00000081:      }
00000082:      ExprStatement{ 2  {}  0  {  }
00000086:        Call{
00000087:          Variable{"alert" false
00000095:          }
00000096:          List{ 1  {
00000098:            LocalVariable{"str1" false  -1
0000009C:            } }  false
0000009D:          } false
0000009E:        }
0000009E:      } }
0000009E:    } 0  {  }  2  { "str1" 0x40000000 "str2" 0x40000001  }  0  2  0 "" 1  -1
000000B8:  }
 
  • Спасибо
Реакции: Skvoznyak

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 203
Реакции
10 848
не думаю что это дает серьезный прирост производительности.
Это давало б прирост производительности, если б скрипт непрерывно каждую строку парсил и интерпретировал. На самом же деле это один единственный раз происходит при загрузке скрипта. Собственно, это подтверждает тот факт, что синтаксические ошибки при этом сразу выскакивают. Т.е. для несколькистрочных скриптов ускорение в миллисекунды будет, конечно же.
 

lev

Модератор
20 лет на форуме
Сообщения
2 145
Реакции
2 071
В AI скриптинге не разбираюсь.
Что если вынести из цикла:
все_выделенные_объекты.filled = true; (до цикла)
все_выделенные_объекты.strokeWidth = 0; (после цикла)
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 203
Реакции
10 848

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
а чем свотчи не подходят? по сути это и есть набор доступных/используемых цветов в документе...
очистите список и ... add used color

в общем спасибо за идею, так и сделал в итоге
запускаю в скрипте app.redraw(), потом экшн из трех команд - add used, select unused, delete, получаю список цветов из doc.swatches, а потом просто делаю app.undo(), что возвращает документ в первозданное состояние

торчат, правда, несколько свотчей, которыми ничего не покрашено. как бы их быстро опознать, чтоб выкинуть из списка?..
 

DrEgor

Участник
Сообщения
774
Реакции
68
в общем спасибо за идею, так и сделал в итоге
запускаю в скрипте app.redraw(), потом экшн из трех команд - add used, select unused, delete, получаю список цветов из doc.swatches, а потом просто делаю app.undo(), что возвращает документ в первозданное состояние

торчат, правда, несколько свотчей, которыми ничего не покрашено. как бы их быстро опознать, чтоб выкинуть из списка?..
я думаю, что "add used, select unused, delete" можно тоже скриптом сделать.. как и экспорт списка в какой-то txt файл. Не юзанные свочи по дефолту по моему Ч/Б и регистрейшн (4х100%) остальные нужно смотреть.