[PS CC-CC2022] Как удалить векторные слои, находящиеся за пределами холста?

  • Автор темы Автор темы Kolobokk
  • Дата начала Дата начала

Kolobokk

Топикстартер
15 лет на форуме
Сообщения
955
Реакции
91
Есть документ - шаблон очень большого разрешения с несколькими сотнями текстовых векторных слоёв. Каждый слой - одно слово. Слои разбросаны по директориям вложенных Group-ов.

Как в пару кликов удалить все невидимые слои и оставить только те, изображение которых ограничено рамками холста? (Длинный путь я уже нашёл).
Спасибо!
 
Скриптом например
Или это был длинный путь?
 
Длинным путём было переименование видимых слоёв через V и удаление остальных непереименованных. Просто хотел узнать, есть ли инструментальное решение без привлечения скриптописателей.
 
Ну там скрипт по идее в три строки будет. Цикл по всем слоям, проверка координат и удаление.
 
@_MBK_, В программировании полный ноль, видно это не моё. Да и шаблон уже сделал. Просто думал есть какая-то хитрая команда вроде обрезки по краю холста для растровых картинок.
 
Так у вас проблема в том что картинки обрезаны а слои не удалены. Кстати не факт что и скрипт справится - может статься так что он прозрачное место тоже в поле слоя считает, тогда нетривиально понять виден слой или спрятан в тень от теней.
 
Да, картинка обрезана, а все слои прозрачные. Это я всё пытаюсь записать универсальный экшин для ватермарка. Хотел было добавлять искажения с помощью Displace, но получилось некрасиво. Так что остановился на наложение через Bavel & Emboss.
 
м.б. "выделить все"-кроп. Тогда все лишнее упразднится.))
 
Теоретически (если скрипт писать) можно выделять все на слое и смотреть - выделилось что-то или нет,если размер выделения нулевой, то слой втопку. Разве что так. 'hmmm'
 
Ну до таких-то мыслей и я додумался. ))
Интересно узнать более эффективное решение. ))
 
вот так 'cooll)'

только, понятное дело, нужно пятнарик иметь ))
 
А, ну да. ))
Хех, у меня в CS6 тоже есть. ))
Лень-матушка. '))'
Никогда не пользовался.
 
Тогда только скриптом. Хорошая новость - векторные текстовые слои по координатам фильтруются однозначно
 
Стрелкой с контролом обвести канвас, выделятся все слои на канвасе. Инвертировать слоевую селекцию любым доступным способом, мочкануть слои.
 
#target photoshop
var all_layers = app.activeDocument.layers
var i = all_layers.length;
while (i--) {
if( (0 == all_layers.bounds[2].value)|| (0 == all_layers.bounds[3].value)) all_layers.remove();
}

Накидал скрипт - прибить слой, если его высота или ширина нулевая
 
Вот как то так
Код:
#target photoshop
var all_layers = app.activeDocument.layers
var i = all_layers.length;
while (i--) {
alert(all_layers[i].bounds);
if (((all_layers[i].bounds[0]<=0) && (all_layers[i].bounds[2]<=0)) ||
    ((all_layers[i].bounds[1]<=0) && (all_layers[i].bounds[3]<=0)) ||
    ((all_layers[i].bounds[0]>=app.activeDocument.width) && (all_layers[i].bounds[2]>=app.activeDocument.width)) ||
    ((all_layers[i].bounds[1]>=app.activeDocument.height) && (all_layers[i].bounds[3]>=app.activeDocument.height)))
  {
   all_layers[i].remove();
  }

}