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

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

Tootony

Участник
Топикстартер
Сообщения
5
Реакции
0
1. Создаю прямоугольник
var pl=mydoc.pathItems.rectangle(300, 45, 165, 100);
2. Создаю текст
var transRef = mydoc.textFrames.add();

???????
3. Что нужно сделать, чтобы в результате получилось то, что я делаю руками:
1) Перевожу текст в кривые
2) Выделяю текст + прямоугольник
3) Делай Vertical+Horizontal Align Centre или совмещаю координаты центров
4) Дальше группирую и перемещаю по сетке


На артборде дальше нужно создать множество таких объектов: текст внутри прямоугольника.
Как выбрать стратегию, имитировать действия руками, выделяя определенные области, чтобы выделить и текст и прямоугольник или
группировать, создавать новые слои ?
например создаю текст, создаю прямоугольник, все помещаю в один слой, дальше центр группы с кривыми совмещаю с центром прямоугольника внутри слоя.

Подскажите пожалуйста стратегию действий, у меня нет понимания даже механики таких действий.
 

dumbm1

10 лет на форуме
Сообщения
421
Реакции
196
Примерно так (до пункта "перемещаю по сетке"):
Код:
var gr = makeTxtInsideRect ( 'kkkkk' );
// далее куда-то перемещаете группу gr по какой-то сетке

function makeTxtInsideRect ( str ) {

  activeDocument.rulerOrigin = [ 0, activeDocument.height ];

  var doc  = activeDocument,
      gr   = doc.groupItems.add(),
      rect = gr.pathItems.rectangle( 300, 45, 165, 100 ),
      txt  = gr.textFrames.add();

  txt.contents = str;
  txt = txt.createOutline();

  txt.position = [
    (rect.left + rect.width / 2) - txt.width / 2,
    (rect.top - rect.height / 2) + txt.height / 2
  ];

  return gr;
}
 
Последнее редактирование:
  • Спасибо
Реакции: Tootony
Статус
Закрыто для дальнейших ответов.