Управление макросами: создание, редактирование, удаление.

Управление воспроизведением макрокоманд.

Если вам понравилась макрокоманда Spatter Frame, то у вас неминуемо возникнет желание адаптировать ее в соответствии со своими потребностями. Некоторую часть этой работы можно проделать, не изменяя макрокоманду. Например, можно изменять параметры фильтра для того, чтобы задавать степень неровности краев. По умолчанию данная макрокоманда при выполнении не запрашивает никаких параметров, а пользуется заданными при ее записи. Вы можете указать макрокоманде на необходимость выдачи запросов относительно любой команды, имеющей какие-либо параметры. Продемонстрируем на примере параметров фильтра Spatter.

  1. Выберите первый снимок в палитре History. Это вернет изображение в первоначальное состояние.
  2. Найдите в палитре Actions строку с командой Spatter и щелкните на пустом прямоугольнике слева от имени команды. В нем появится пиктограмма, изображающая диалоговое окно, представленная на рисунке.
  3. Выберите имя всей макрокоманды Spatter Frame.
  4. Запустите макрокоманду на выполнение щелчком на соответствующей пиктограмме в палитре Actions.
  5. При выполнении команды Spatter Photoshop откроет диалоговое окно фильтра, в котором вы сможете выбрать желаемые параметры. Попробуйте, например, уменьшить значение Smoothness до 2.
  6. Нажмите кнопку ОК. Макрокоманда продолжит выполнение.

Заметьте, что каждое новое выполнение макрокоманды создает новый снимок исходного состояния документа. Это очень полезно, но не всегда необходимо. Например, если вы подбираете параметры команд,то с каждой пробой будет появляться новый снимок. С другой стороны, удалять команду создания снимка тоже нежелательно - можно безвозвратно потерять результаты предыдущей работы,еслимакрокоманданеподойдет. Выход в том, чтобы временно отменить выполнение ненужной команды.

  1. Щелкните на галочке, слева от имени команды Make snapshot в палитре Actions.
  2. Выберите имя всей макрокоманды Spatter Frame.
  3. Запустите макрокоманду на выполнение щелчком на соответствующей пиктограмме в палитре Actions.
  4. Откройте палитру History и убедитесь, что новый снимок не был создан. Использование временного отключения той или иной команды очень полезно при создании собственных макрокоманд и при их отладке. Дальнейшие изменения обязательно затронут саму макрокоманду и потребуют записи новых команд и удаления существующих.

Запись макрокоманды.

В этом разделе описывается создание простейшей, но очень полезной макрокоманды, позволяющей центрировать изображение на текущем слое. Воспользуемся одной особенностью команды Paste: она размещает изображение точно по центру слоя. Для записи макрокоманды подойдет любое изображение, имеющее слой Background и еще один слой. То изображение, которое уже находится на экране, удовлетворяет этим критериям. При создании макрокоманды будем предполагать, что слой, который требует центровки, к моменту запуска макрокоманды активен.



  1. Активизируйте слой Layer 1.
  2. Разместим макрокоманду в новом наборе макрокоманд. В палитре Actions нажмите кнопку создания нового набора макрокомандCreate new set.
  3. В открывшемся диалоговом окне New Set введите имя нового набора, например, "My Actions".
  4. Нажмите кнопку ОК. В палитре появился новый набор.
  5. В палитре Actions выберите пиктограмму создания новой макрокоманды Create new action.
  6. В появившемся диалоговом окне New Action введите имя макрокоманды в поле Name, например, "Center (Layer)". Ниже этого поля расположен список всех наборов макрокоманд, присутствующих в палитре. По умолчанию в нем выбран выделенный набор, My Actions. Остальными элементами этого диалогового окна займемся чуть позже.

Совет. Когда вы создаете свою макрокоманду, указывайте с чем она работает. Если макрокоманда требует для работы изображения на отдельном слое, укажите в скобках "Layer". Если же для ее функционирования необходима выделенная область, укажите "Selection". Такие обозначения приняты при обмене макрокомандами.

  1. Нажмите кнопку Record. С этого момента все ваши действия в программе будут записываться в макрокоманду Center (Layer). После выполнения каждой команды сразу же смотрите в палитру Actions, проверяя результат ее записи. Пиктограмма записи в палитре подсвечена красным цветом.
  2. Выберите команду All меню Select или нажмите клавиши CTRL+A. В палитре Actions появилась первая команда Set Selection с параметромТо, соответствующим выделению всего холста (All).
  3. Выберите команду Cut меню Edit. Соответствующая команда появится и в палитре< STRONG>Actions.
  4. Выберите команду Paste меню Edit. Соответствующая команда появится и в палитре Actions.

Совет. Если при записи макрокоманды вы ошибочно сделали не то действие и сразу же это обнаружили, выберите команду Undo меню Edit. Ошибочная команда из палитры Actions при этом не исчезнет, но изображение вернется в предыдущее состояние. Далее просто введите верную команду. Оставшуюся в палитре неправильную команду несложно удалить после завершения записи. Для этого нужно просто перетащить строку команды к пиктограмме удаления.



  1. Все действия макрокоманды выполнены и пора остановить запись. Щелкните на пиктограмме остановки записи в палитре Actions.

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

  1. Выберите в палитре Actions заголовок созданной макрокоманды.
  2. Выполните команду Insert Stop... из меню палитры Actions. В открывшемся диалоговом окне Record Stop увидите поле Message, в которое можете ввести несколько строк комментария, и флажок Allow Continue, определяющий, разрешить или нет дальнейшее выполнение макрокоманды. Введите текст комментария и установите флажок Allow Continue.
  3. Нажмите кнопку ОК.
  4. Переместите команду Stop в палитре Actionsна первое место в нашей макрокоманде тем же способом, которым меняли порядок слоев в палитре слоев -Drag and Drop.Мы добавили комментарий к макросу, который, сможет остановить выполнение макроса, если пользователь нажмет Stop в открывшемся диалоговом окне.

В программировании, даже таком элементарном, требуется, чтобы программа освобождала все занятые ресурсы компьютера. Данная макрокоманда этому требованию не удовлетворяет, поскольку в буфере обмена осталось все содержимое слоя. Если изображение достаточно велико, то занятая память отрицательно скажется на производительности программы; С другой стороны, при переключении на любую другую программу и обратно, будет происходить передача содержимого буфера обмена между ними. Эго приведет к назойливой задержке. В качестве самостоятельной работы дополните макрокоманду командой Purge из меню Edit.

Примечание. Чтобы записать контур в макрокоманду, нужно его предварительно создать, а затем воспользоваться командой Insert Path меню палитры Actions. При проигрывании макрокоманды контур будет воспроизведен на новом изображении. Запись макрокоманд в Photoshop имеет значительные ограничения. Во-первых, не записываются действия инструментов рисования (Brush, Stamp, Eraser и пр.). Во-вторых, нет возможности управления ходом выполнения макрокоманды. Макрокоманда не может вызывать различные команды в зависимости от каких-либо условий, нельзя организовать циклическое выполнение группы команд, получение и использование информации о состоянии документа (размер, разрешение, цветовая модель, количество и типы слоев и каналов и т.п.).

Наши рекомендации