[ID CS3 и ранее] Как применить FitOptions к контейнеру с иконкой?

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

vlmr

Участник
Топикстартер
Сообщения
13
Реакции
0
Здравствуйте.
Т.к. я на очень ранней стадии в написании скриптов, то прошу помочь применить
команду (FitOptions.FIT_CONTENT_TO_FRAME) к моему скрипту )).
Суть такова:
есть иконка называемая "са", ее копируем и пейстим в некоторое количество якорных фреймов.
Все это нормально получается. Остается одна операция - подогнать фреймы под размер иконки. С этим у меня затык. Помогите пожалуйста с командой FIT.
Сам скрипт:
Код:
var doc = app.activeDocument;
var sel = doc.selection[0];

app.findObjectPreferences.appliedObjectStyles = "ca";
found_list = app.activeDocument.findObject(true);

for (i = found_list.length-1; i >=0; i--){ //цикл от конца к началу
    var can = doc.pageItems.item("ca")
    can.select();
    app.copy();
    found_list[i].select();
    app.pasteInto();
    sel[i].rectangles[i].fit(FitOptions.FIT_CONTENT_TO_FRAME);
    sel[i].rectangles[i].fit(FitOptions.CENTER_CONTENT);
}
app.findObjectPreferences = app.changeObjectPreferences = null;
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Код:
var doc = app.activeDocument;
var sel = doc.selection[0];

var can = doc.pageItems.item("ca");
can.select();
//С этого момента переменная sel и выделенный объект - не одно и то же
//Поэтому применять fit надо будет не к sel, а к doc.selection[0] (определён будет в цикле ниже)
//(Зачем, кстати, тут вообще строка 2?)))

//Объект не нужно копировать в буфер многократно в цикле,
//т.к. содержимое буфера нигде в цикле не меняется
app.copy();

app.findObjectPreferences.appliedObjectStyles = "ca";
found_list = app.activeDocument.findObject(true);

for (i = found_list.length-1; i >=0; i--){ //цикл от конца к началу
    found_list[i].select();
    app.pasteInto();
    doc.selection[0].fit(FitOptions.FRAME_TO_CONTENT);
}
app.findObjectPreferences = app.changeObjectPreferences = null;
 
  • Спасибо
Реакции: catpaw, Linxy и vlmr

vlmr

Участник
Топикстартер
Сообщения
13
Реакции
0
Потрясающе! Все тут же заработало )) Огромнейшее спасибо. Насчет второй строки - скорей всего я ошибся, скрипты пытаюсь писать по Вашим урокам. Наверняка не все еще делаю "осознанно".
Код:
var doc = app.activeDocument;
var sel = doc.selection[0];
//(Зачем, кстати, тут вообще строка 2?)))
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
Статус
Закрыто для дальнейших ответов.