Запись макрокоманды
В этом разделе описывается создание простейшей, но очень полезной макрокоманды, позволяющей центрировать изображение на текущем слое. Воспользуемся одной особенностью команды Paste: она размещает изображение точно по центру слоя. Для записи макрокоманды подойдет любое изображение, имеющее слой Background и еще один слой. То изображение, которое уже находится на экране, удовлетворяет этим критериям. При создании макрокоманды будем предполагать, что слой, который требует центровки, к моменту запуска макрокоманды активен.
- Активизируйте слой Layer 1.
- Разместим макрокоманду в новом наборе макрокоманд. В палитре Actions нажмите кнопку создания нового набора макрокоманд Create new set.
- В открывшемся диалоговом окне New Set введите имя нового набора, например, "My Actions".
- Нажмите кнопку ОК. В палитре появился новый набор.
- В палитре Actions выберите пиктограмму создания новой макрокоманды Create new action.
- В появившемся диалоговом окне New Action введите имя макрокоманды в поле Name, например, "Center (Layer)". Ниже этого поля расположен список всех наборов макрокоманд, присутствующих в палитре. По умолчанию в нем выбран выделенный набор, My Actions. Остальными элементами этого диалогового окна займемся чуть позже.
Совет
Когда вы создаете свою макрокоманду, указывайте с чем она работает. Если макрокоманда требует для работы изображения на отдельном слое, укажите в скобках "Layer". Если же для ее функционирования необходима выделенная область, укажите "Selection". Такие обозначения приняты при обмене макрокомандами. - Нажмите кнопку Record. С этого момента все ваши действия в программе будут записываться в макрокоманду Center (Layer). После выполнения каждой команды сразу же смотрите в палитру Actions, проверяя результат ее записи. Пиктограмма записи в палитре подсвечена красным цветом.
- Выберите команду All меню Select или нажмите клавиши CTRL + A. В палитре Actions появилась первая команда Set Selection с параметром То, соответствующим выделению всего холста (All).
- Выберите команду Cut меню Edit. Соответствующая команда появится и в палитре Actions.
- Выберите команду Paste меню Edit. Соответствующая команда появится и в палитре Actions.
Совет
Если при записи макрокоманды вы ошибочно сделали не то действие и сразу же это обнаружили, выберите команду Undo меню Edit. Ошибочная команда из палитры Actions при этом не исчезнет, но изображение вернется в предыдущее состояние. Далее просто введите верную команду. Оставшуюся в палитре неправильную команду несложно удалить после завершения записи. Для этого нужно просто перетащить строку команды к пиктограмме удаления. - Все действия макрокоманды выполнены и пора остановить запись. Щелкните на пиктограмме остановки записи в палитре Actions.
Настоятельно советуем каждую созданную вами макрокоманду снабжать комментарием, описывающим ее требования к начальному состоянию документа, ведь для работы одной требуется объект, расположенный на слое, для другой -выделенная область, для третьей -отсутствие слоев и т. п. Когда у вас появится библиотека макрокоманд, вам, вероятно, уже будет сложно запомнить детали функционирования каждой из них.
- Выберите в палитре Actions заголовок созданной макрокоманды.
- Выполните команду Insert Stop… из меню палитры Actions. В открывшемся диалоговом окне Record Stop увидите поле Message, в которое можете ввести несколько строк комментария, и флажок Allow Continue, определяющий, разрешить или нет дальнейшее выполнение макрокоманды. Введите текст комментария и установите флажок Allow Continue.
- Нажмите кнопку ОК.
- Переместите команду Stop в палитре Actions на первое место в нашей макрокоманде тем же способом, которым меняли порядок слоев в палитре слоев – Drag and Drop. Мы добавили комментарий к макросу, который, сможет остановить выполнение макроса, если пользователь нажмет Stop в открывшемся диалоговом окне.
В программировании, даже таком элементарном, требуется, чтобы программа освобождала все занятые ресурсы компьютера. Данная макрокоманда этому требованию не удовлетворяет, поскольку в буфере обмена осталось все содержимое слоя. Если изображение достаточно велико, то занятая память отрицательно скажется на производительности программы; С другой стороны, при переключении на любую другую программу и обратно, будет происходить передача содержимого буфера обмена между ними. Эго приведет к назойливой задержке. В качестве самостоятельной работы дополните макрокоманду командой Purge из меню Edit.
Примечание
Чтобы записать контур в макрокоманду, нужно его предварительно создать, а затем воспользоваться командой Insert Path меню палитры Actions. При проигрывании макрокоманды контур будет воспроизведен на новом изображении. Запись макрокоманд в Photoshop имеет значительные ограничения. Во-первых, не записываются действия инструментов рисования (Brush, Stamp, Eraser и пр.). Во-вторых, нет возможности управления ходом выполнения макрокоманды. Макрокоманда не может вызывать различные команды в зависимости от каких-либо условий, нельзя организовать циклическое выполнение группы команд, получение и использование информации о состоянии документа (размер, разрешение, цветовая модель, количество и типы слоев и каналов и т.п.).