Используя простой массив app.selection[x]
, вы можете применить преобразование к любому объекту в выборе, независимо. Но как мне применить преобразование ко всему отобранному вместе?InDesign extendScript: Как преобразовать весь выбор?
Например: внутри InDesign я могу выбрать два бок о боковых объекта и перевернуть их по горизонтали, заставляя их переключаться местами и переворачивать.
Внутри скрипта, можно настроить таргетинг на каждый объект в выборе, но они не будут меняться местами; они останутся в одном месте и перевернут.
for (var x = 0; x < app.selection.length; x++){
app.selection[x].absoluteFlip = Flip.HORIZONTAL;
}
я мог группе выбор, применить преобразование, затем разгруппировать, когда закончил, но это кажется ненужным наливом, что может замедлить код. Я могу легко сделать это вручную внутри InDesign, поэтому следует следовать, что есть способ доступа к app.selection
как к единому объекту, а не к массиву. Существует ли такой объект?
Ницца! Я бы предположил, что «центральная точка» должна быть центром всего выбора, поэтому сначала нужно перебрать все элементы. (... Я, я бы взял ярлык здесь и сгруппировал все и прочитал * его * центр, а затем разгруппировался. Но это делает остальную часть этой рутины довольно бессмысленной.) – usr2564301
@Jongware Да, я думаю, что через меню это принимает координаты, появляющиеся на панели инструментов, которые в основном являются координатами «группы выбора». Но по какой-то причине я не могу получить их из javascript. Это должно быть где-то, но я не знаю, где. Так что, возможно, легче сгруппировать. –
Это смешно, когда мне нужно решение такого вопроса, как InDesign, я всегда искал «jongware» как одно из моих ключевых слов. : P В любом случае, спасибо Жюльен за это объяснение, я как бы задумывался об этом.МНОГО БОЛЬШЕ альтернативы написанию нескольких утверждений «если», устанавливающих состояние absoluteFlip в противоположность его текущему состоянию. И ваше решение избежать группировки очень умно, независимо от того, окажется ли оно быстрее. Я отдам! –