Обновить связанный файл в фотошопе через java - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь написать скрипт, который будет go проходить через каждый смарт-объект и, по сути, будет делать то же самое, как если бы я должен был открыть его, а затем нажать «Слой> Смарт-объекты> обновить весь измененный контент». Моя цель - создать скрипт, который будет перебирать каждый смарт-объект внутри каждого смарт-объекта; эффективное обновление всех смарт-объектов рекурсивно.

Например, скажем, у меня есть один файл .png, который является изображением камешка. Из этого я создал связанный смарт-объект, затем сделал несколько дубликатов, затем сделал из них смарт-объекты, сделал дубликаты этих групп гальки и т. Д. c. пока у меня не было горы. Идея моего сценария состоит в том, чтобы перебирать каждый вложенный смарт-объект до этой отдельной гальки и обновлять связанный контент; поэтому, если я поменяю камешек, я могу запустить скрипт, чтобы обновить всю гору. Имеет ли это смысл?

В этом и заключается моя проблема: я очень новичок в фотошопе javascript, и я не знаю, с чего начать. в идеале я хочу провести l oop через слои, открыть каждый найденный в них смарт-объект, сделать все возможное для обновления связанного содержимого, а затем повторить это для всех объектов в этом объекте и т. д. c.

Я знаю немного C #; и если бы я кодировал это в c#, это была бы функция foreach l oop, которая называет себя интеллектуальным объектом foreach, как этот псевдокод:

void updateeverything(document)
{
     foreach(layer OBJ in document)
     {
       //magic happens on this line to do the same thing as the "update changed content" button in the UI
       if(OBJ.type().tostring() == "smartobject")
        {
          updateeverything(OBJ)
        }
     }
}   
...