Как записать правильный Action?

  • Автор темы Автор темы Kolobokk
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Kolobokk

Топикстартер
15 лет на форуме
Сообщения
955
Реакции
91
Помогите, пожалуйста, решить задачу! Собственно, работу я уже выполнил, просто интересно узнать, как это можно было бы упростить.

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

Я записал Actoin с Insert Stop-ами.
После первой остановки, провожу линию линейкой для автоповорота.
После второй остановки, Marquee (Fixed Size) - выделяю участок.
После первого же Stop-а Фотошоп предлагает сделать выбор:

A command was canceled or stopped while
batching. Continue with next file or stop?

Если я не соглашаюсь продолжить, то приходится открывать и сохранять каждый очередной файл, причём, Фотошоп (CS2) не помнит даже папки размещения, хотя они прописаны в Batch-е. Правда, при этом как-то можно закончить работу.

Если же я соглашаюсь продолжить после: "...Continue with next file or stop?", то Фотошоп после первого Stop-а открывает все документы из папки. Для меня это неприемлемо, так размеры файлов велики.

Ну, и последнее.
После выделения участка, я могу сделать лишнюю часть холста прозрачной и вставить в заранее созданный документ уже имеющий размер выделенного участка, чтобы таким образом обрезать холст под нужный размер.
Но, как обрезать холст под выделенный участок для записи в Action?

Спасибо!
 
Ответ: Как записать правильный Action?

Там есть чек Allow Continue - в диалоге Stop при его записи. Вы его чекрыжили?
 
Ответ: Как записать правильный Action?

Zest сказал(а):
Там есть чек Allow Continue - в диалоге Stop при его записи. Вы его чекрыжили?

Спасибо за ответ!

Да, проверял конечно. При этом, во время исполнения экшина, в диалоге "Стоп", появляется ещё одна кнопочка, которая позволяет пропустить стоп (то есть, сразу двигаться дальше). Больше не на чём это не отражается.

А как вы считаете, возможно, вообще, осуществить при пакетной обработке обрезание холста по выделению, или по границе прозрачности, или ещё как нибудь? (В авто режиме, без Стоп-ов, естественно).
 
Ответ: Как записать правильный Action?

Да, оказывается Allow Continue совершенно не при чем. Стоп просто останавливает выполнение пакетной обработки и понятно почему - нет события по которому можно было бы продолжить после прерывания.

А зачем пытаться использовать команду Crop? В то время как надо просто записать действие инструмента Crop. Открываете файл, настраиваете линейку на пикселы чтобы кадрирование записалось в пикселах, теперь выбираете инструмент Crop, жмете кнопку Clear в панели его свойств (чтобы в полях ничего не было) и изображаете кадр заданного размера в произвольном месте и жмете Ок. Сохраняете файл в любое место, закрываете.

А для того, чтобы кадрирование не происходило каждый раз одинаково - как записано - надо включить режим отображения диалога: Toggle dialog on/off. Этот режим включается для любого действия, которое его поддерживает - кнопкой напротив его позиции в списке действий в окне Actions.

Теперь, при выполнении экшна, вы сможете изменить любые записанные параметры кадрирования: переместить в нужное место, наклонить (повернуть), изменить размер и тп. Как только нажмете ОК чтобы настроенное кадрирование применилось - экшн поедет дальше, и при пакетной обработке все прекрасно сработает.

Не забудьте включить в батче Override Action Save As command, чтобы перекрыть путь записи и параметры сжатия того файла, с помощью которого вы записали экшн.
 
Ответ: Как записать правильный Action?

Zest сказал(а):
А зачем пытаться использовать команду Crop? В то время как надо просто записать действие инструмента Crop.

Вы, должно быть, меня не совсем правильно поняли. Я экшины научился записывать достаточно давно и особых проблем никогда не испытывал. Во всяком случае, почти всё удавалось автоматизировать.
А вот, именно описанную операцию всегда делал наполовину вручную, хотя, она как раз и не требует творческого подхода.

Я не использую инструмент Crop для обрезания холста, так как не знаю, как его можно заставить находить необходимый участок изображения самостоятельно.
Вручную тоже опасно им пользоваться, так как можно промахнуться на несколько пикселей.

Поэтому, я просто вставляю документ с участком, который необходимо вырезать, в другой документ-шаблон, размер которого точно равен размеру этого самого участка. (При вставке, Фотошоп находит этот участок по границе прозрачности.)

Но, это способ не подходит для полной автоматизации, так как конечный документ всегда приобретает заголовок документа-шаблона, в который вставляется документ из batch-папки.

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

Kolobokk сказал(а):
Я не использую инструмент Crop для обрезания холста, так как не знаю, как его можно заставить находить необходимый участок изображения самостоятельно.
Вручную тоже опасно им пользоваться, так как можно промахнуться на несколько пикселей.
А вот у прямоугольного выделения есть фиксед сайс (окошко Styles) - установи свой размерчик - выдели и из меню Image выбери Crop - все вырезки будут один к одному.
 
Ответ: Как записать правильный Action?

fdrun сказал(а):
А вот у прямоугольного выделения...

Не по теме:
Спасибо за участие!
Вы наверное не читали с начала. Я использую именно этот инструмент для выделения требуемого участка. Вопрос в том, как всё остальное в batch всунуть.

 
Ответ: Как записать правильный Action?

Вот я и предлагаю вырезать нужную область этим инструментом. Нужно переместить выделение на нужную область и Image\Crop, зачем куда-то переносить файл.
А если на картинке есть прозрачность - (альфа-канал?), то из него сделать выделение Ctrl+щелк на канале (слое - если прозрачность не в альфе) и опять же Image\Crop
 
Ответ: Как записать правильный Action?

Инструмент Crop имеет поля для ввода точных данных, поэтому размер рамки можно задать абсолютно точно. Эти данные запишутся в экшн, и будут в точности воспроизведены. Все что вам потребуется сделать - переместить уже созданную экшном рамку в нужное место и нажать Enter. Чтобы это было возможно, против данного действия надо нажать кнопку Toggle Dialog On.

Это обычное дело когда пользователю предлагается изменить записанные параметры в соответствии с конкретными условиями. Например записано Gaussian Blur 2.0 pix. Включено показывать диалог. Экшн доходит до этого места и показывает диалог фильтра Gaussian Blur в котором уже стоит радиус 2.0 пиксела (а не последнее использованное значение). Если устраивает - жмете ОК. Если нет - меняете значение и жмете ОК. Экшн молотит дальше. Тоже самое с кадрированием - рамка создается по записанным параметрам, которые можно модифицировать.

Я не использую инструмент Crop для обрезания холста, так как не знаю, как его можно заставить находить необходимый участок изображения самостоятельно.
Ничего не понял. Что значит "самостоятельно"? По каким критериям программа самостоятельно может определить расположение рамки кадрирования на фотке?

Прямоугольная селекция + команда Image > Crop это подмножество возможностей инструмента Crop.

Если вы так боитесь ошибиться с расположением рамки кадрирования (размер ее зафиксирован в экшне, его не надо каждый раз задавать), то можете прописать в экшн действие по превращению фона в слой (двойной щелк), затем выбрать Crop и в его свойствах задать: Cropped Area > Hide (опция становится активной когда в документе есть слои), кадрировать и затем инициировать Free Transform для текущего слоя с тем же самым Toggle Dialog ON для того, чтобы в процессе выполнения экшна иметь возможность переместить слой внутри уже кадрированного окна. Затем Flattem Image и запись.

Free Transfrom нужно записать не использованием этого действия, а с помощью команды палитры Экшнс: Insert Menu Item, а затем выбрать: Edit > Free Tranform.
 
Ответ: Как записать правильный Action?

Поэтому, я просто вставляю документ с участком, который необходимо вырезать, в другой документ-шаблон, размер которого точно равен размеру этого самого участка. (При вставке, Фотошоп находит этот участок по границе прозрачности.)
Чего он находит?

Ну тогда еще проще: превращаете фон в слой, командуете Image > Canvas Size, получаете абсолютно точно нужный размер полотна, а затем перемещаете в его пределах тот самый слой - бывший фон. Как удовлетворит - Flatten Image, и запись. Чтобы перемещать в экшне - Free Transfrom через Insert Manu Item.
 
Ответ: Как записать правильный Action?

Братцы, мне уже даже не ловко стало всем голову морочить. Видно я совсем плохо объясняю.

Crop в отличии от Marquee не сохраняет масштаб или мне неизвестно, как его заставить это делать.

Например, я навожу Crop на нужный участок, но могу вырезать по самому краю, а могу и захватить чуть внутрь участка.
Конечный размер холста будет таким, каким был забит в настройках, НО масштаб изображения этого самого участка изменится.
(Масштаб изображения, это именно то, на что чихать хотели во всех минилабах. :) Хотя, речь и не о них.)

Marquee позволяет сохранить масштаб изображения, но не позволяет обрезать холст по созданному им самим же выделению.

Собственно, хотелось бы автоматизировать обрезку холста, причём не для одного изображения, а для всей кучи. Я уже описал, как я это сделал, но из-за того, что на выходе все документы приобретают одно и то же имя, приходится их вручную обзывать и сохранять. А это уже никакая не автоматизация.

Наводить же Crop, это не просто механическое нажатие клавиш, а работа требующая сосредоточения, а как следствие, проверки результата перед очередной операцией.

Если наводить Crop по границе прозрачности, то он "примагничивается" к границе, что сохраняет размер участка равным размеру холста.
Но, это всё равно дополнительная ручная операция, так как она требует произвести предварительно ещё одну ручную операцию, а именно наведение Marquee.
 
Ответ: Как записать правильный Action?

Kolobokk сказал(а):
Marquee позволяет сохранить масштаб изображения, но не позволяет обрезать холст по созданному им самим же выделению.
Еще разочек говорю: меню Image\Crop. Но сначала сделай выделение прямоугольное - Feather=0 - чтоб края резкие были.
Попробуй.
 
Ответ: Как записать правильный Action?

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

Какие прозрачности? Какие масштабы? Что за бред?

Crop в отличии от Marquee не сохраняет масштаб или мне неизвестно, как его заставить это делать.
Как это не сохраняет? Инструмент кадрирования работает абсолютно точно также как команда кадрирования. Однако имеет больше возможностей, в частности - за один прием можно и кадрировать и ресемплировать (то есть, изменить масштаб) одновременно. Для этого вводите данные в поле разрешение наряду с данными размеров. Наоборот - если не надо менять масштаб, то стираете данные в поле Resolution. А лучше нажать кнопку Clear. Тогда будет только кадрирование - без ресемплирования.

Marquee позволяет сохранить масштаб изображения, но не позволяет обрезать холст по созданному им самим же выделению.
Почему не позволяет? Рисуете прямоугольник и сразу Image > Crop.

Короче, хотите сами себе помочь - излагайте вопрос по существу. Чего вы там делаете и чего не получается. А то какая-то игра в жмурки получается - приходится гадать чего вы там делаете, если то, что у всех работает - у вас отказывается.
 
Ответ: Как записать правильный Action?

Zest сказал(а):
Почему не позволяет? Рисуете прямоугольник и сразу Image > Crop.
fdrun
Большое спрасибо!
Это то, что нужно. С первой попытки не дошло. Теперь понимаю, что через одно место всё делал.
Тему можно закрыть.
 
Статус
Закрыто для дальнейших ответов.