[AI CS4-CS6] Вставить логотип скриптом

Статус
Закрыто для дальнейших ответов.

Tootony

Участник
Топикстартер
Сообщения
5
Реакции
0
Господа, объясните пожалуйста, как вставить логотип скриптом.
Логотип векторный, из себя представляет два полигона разной заливки, наложенный один на другой.
Как лучше, программно отрисовать - задать последовательность координат с заливкой
или же загрузить как-то из внешного файла.
 

dumbm1

10 лет на форуме
Сообщения
421
Реакции
196
Код:
(function addLogo () {
  var polyBott = activeDocument.pathItems.polygon(200, -200, 80, 5),
      polyTop  = activeDocument.pathItems.polygon(200, -200, 50, 7),
      bottFill = new CMYKColor (),
      topFill  = new CMYKColor ();

  bottFill.cyan   = 40;
  topFill.magenta = 40;

  polyBott.stroked = polyTop.stroked = false;
  polyBott.fillColor    = bottFill;
  polyTop.fillColor     = topFill;
  polyTop.blendingMode = BlendModes.MULTIPLY;
} ());
Мне кажется, что проще вставить готовый из файла.
А может Place?
Код:
function placeLogo (pathToLogo, x, y) {
  var logo      = activeDocument.placedItems.add();
  logo.file     = new File (pathToLogo);
  logo.position = [x, y];
  return logo;
}

placeLogo (Folder.desktop + '/TEST_PLACE_LOGO.ai', 0, 0);
 
Последнее редактирование:

dumbm1

10 лет на форуме
Сообщения
421
Реакции
196
Вставить из файла можно примерно так:
Код:
function pasteLogo (pathToLogo, x, y) {
  var targDoc = activeDocument,
      logoDoc = open (new File (pathToLogo)),
      logo;

  logoDoc.activate();
  logoDoc.selectObjectsOnActiveArtboard();
  copy ();
  logoDoc.close();

  targDoc.activate();
  paste ();

  logo      = selection[0];
  logo.position = [x, y];

  return logo;
}

pasteLogo (Folder.desktop + '/TEST_PLACE_LOGO.ai', 0, 0);
В момент запуска скрипта активным должен быть целевой документ (т.е. тот, в который производим вставку).
Логотип должен быть сгруппирован и находиться на единственном артборде.
 
  • Спасибо
Реакции: Tootony

Tootony

Участник
Топикстартер
Сообщения
5
Реакции
0
Вставить из файла можно примерно так:
Код:
function pasteLogo (pathToLogo, x, y) {
  var targDoc = activeDocument,
      logoDoc = open (new File (pathToLogo)),
      logo;

  logoDoc.activate();
  logoDoc.selectObjectsOnActiveArtboard();
  copy ();
  logoDoc.close();

  targDoc.activate();
  paste ();

  logo      = selection[0];
  logo.position = [x, y];

  return logo;
}

pasteLogo (Folder.desktop + '/TEST_PLACE_LOGO.ai', 0, 0);
В момент запуска скрипта активным должен быть целевой документ (т.е. тот, в который производим вставку).
Логотип должен быть сгруппирован и находиться на единственном артборде.

Спасибо огромное, все четко, работает!
Link прописал так:
pasteLogo ("/Volumes/SSD/Верстка/Logo.ai", 0, 0);
 

Tootony

Участник
Топикстартер
Сообщения
5
Реакции
0
Вставить из файла можно примерно так:
Код:
function pasteLogo (pathToLogo, x, y) {
  var targDoc = activeDocument,
      logoDoc = open (new File (pathToLogo)),
      logo;

  logoDoc.activate();
  logoDoc.selectObjectsOnActiveArtboard();
  copy ();
  logoDoc.close();

  targDoc.activate();
  paste ();

  logo      = selection[0];
  logo.position = [x, y];

  return logo;
}

pasteLogo (Folder.desktop + '/TEST_PLACE_LOGO.ai', 0, 0);
В момент запуска скрипта активным должен быть целевой документ (т.е. тот, в который производим вставку).
Логотип должен быть сгруппирован и находиться на единственном артборде.


Возник вопрос, при вставке из файла поменялся цвет логотипа
Был CMYK : 90/40/0/0 в исходном файле
А стал : 83/41/0/0 при вставке
Как это можно контролировать?
 

Tootony

Участник
Топикстартер
Сообщения
5
Реакции
0
Возник вопрос, при вставке из файла поменялся цвет логотипа
Был CMYK : 90/40/0/0 в исходном файле
А стал : 83/41/0/0 при вставке
Как это можно контролировать?

Ответ - оба документа должны в одних цветовых моделях, либо все cmyk либо все rgb
 
Статус
Закрыто для дальнейших ответов.