[AI CS4-CS6] Как правильно масштабировать placedItem?

  • Автор темы Автор темы _MBK_
  • Дата начала Дата начала

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 703
Реакции
11 005
Чтото под вечер совсем мозг зарядился, помещаю в документ растровую картинку, пытаюсь подогнать под размер:
Код:
    var itemToPlace = myLayer.placedItems.add();

           itemToPlace.file = myFile;
           itemToPlace.resize(scale,scale);
Последний оператор нифига не работает. То есть, размеры itemToPlace (ecли их в скрипте посмотреть) меняются на нужные, но сам растровый объект не меняется, как ни крути. Что за странная индусская багофича, как правильно делать вроде ж раньше работало?
 
Рабочий кусок кода дай.
Код:
var itemToPlace = app.activeDocument.placedItems[0];
itemToPlace.resize(200,200);
Вот так работает.
 
  • Спасибо
Реакции: _MBK_
Гм, а есть разница? Ладно, завтра попробую.'hmmm'
 
Код:
var itemToPlace = app.activeDocument.placedItems.add();
itemToPlace.file = File('C:/Temp/test.png');
itemToPlace.resize(500,500);
Вот так тоже работает.
upload_2018-2-14_2-51-4.png


Сверху картинка масштабированная, внизу оригинал.
 
Гм мистика какая то, разницу вижу только в том, что у меня не к активному документу а к слою импортируется. А попробуй на слой?
 
upload_2018-2-14_2-58-25.png


Код:
var itemToPlace = app.activeDocument.activeLayer.placedItems.add();
itemToPlace.file = File('C:/Temp/test.png');
itemToPlace.resize(500,500);
 
Тогда вообще ни хрена не понимаю. А на уменьшение, 10,10?'otbline''hz'
 
Мда, значит надо ложиться спать, видимо, сегодня просто аномальный день 'otbline'
 
Чуть не забыл, надо ж отписаться, как решились все заботы. Разгадка была столь же банальная, сколь и контринтуитивная. По какой то индуистской логике, внедрение импортированного обьекта через embed() превращает его в бомбу замедленного действия. Дальнейшие действия с ним непредсказуемы - может раз сработать, в другом контексте нет, внезапно могут выползти какие то косяки, совершенно не связанные с этим обьектом и прочие неведомые ёршиковые хранилища. Поэтому, во избежание подобных коллизий, все операции embed следует проводить в самом конце централизованно. Как то так.