Сообщение об ошибке «не удалось выполнить ваш запрос, поскольку смарт-объект нельзя редактировать напрямую в Photoshop» обычно появляется при попытке выполнить операцию над смарт-объектом, который не поддерживается, или когда смарт-объект связан с внешним файл, который нельзя редактировать непосредственно в Photoshop. Вот несколько способов решения этой проблемы:
-
Растеризация смарт-объекта.
Растеризация смарт-объекта преобразует его в обычный растровый слой, что делает его доступным для непосредственного редактирования. Однако учтите, что при этом неразрушающие свойства смарт-объекта будут удалены.doc = app.activeDocument smart_object = doc.activeLayer # Rasterize the smart object smart_object.rasterize(RasterizeType.ENTIRELAYER) -
Преобразуйте смарт-объект в связанный смарт-объект.
Преобразуя смарт-объект в связанный смарт-объект, вы можете вносить изменения в исходный файл за пределами Photoshop и отражать их в документе.doc = app.activeDocument smart_object = doc.activeLayer # Convert the smart object to a linked smart object smart_object.convertToLinked() -
Отредактируйте смарт-объект в исходном приложении.
Если смарт-объект связан с внешним файлом, вы можете открыть и отредактировать файл в его собственном приложении, а затем обновить смарт-объект в Photoshop.doc = app.activeDocument smart_object = doc.activeLayer # Open the linked file in its source application smart_object.editContents() -
Дублирование смарт-объекта.
В некоторых случаях дублирование смарт-объекта может снова сделать его доступным для редактирования. Вы можете попробовать дублировать смарт-объект, а затем работать с дубликатом.doc = app.activeDocument smart_object = doc.activeLayer # Duplicate the smart object smart_object.duplicate()
Не забудьте заменить app.activeDocumentи doc.activeLayerсоответствующими ссылками на ваш документ Photoshop и слой смарт-объекта, с которым вы хотите работать.