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

Тема в разделе «Adobe Photoshop», создана пользователем Kolobokk, 24 сен 2017.

  1. Есть документ - шаблон очень большого разрешения с несколькими сотнями текстовых векторных слоёв. Каждый слой - одно слово. Слои разбросаны по директориям вложенных Group-ов.

    Как в пару кликов удалить все невидимые слои и оставить только те, изображение которых ограничено рамками холста? (Длинный путь я уже нашёл).
    Спасибо!
     
  2. Скриптом например
    Или это был длинный путь?
     
  3. Длинным путём было переименование видимых слоёв через V и удаление остальных непереименованных. Просто хотел узнать, есть ли инструментальное решение без привлечения скриптописателей.
     
  4. Ну там скрипт по идее в три строки будет. Цикл по всем слоям, проверка координат и удаление.
     
  5. @_MBK_, В программировании полный ноль, видно это не моё. Да и шаблон уже сделал. Просто думал есть какая-то хитрая команда вроде обрезки по краю холста для растровых картинок.
     
  6. Так у вас проблема в том что картинки обрезаны а слои не удалены. Кстати не факт что и скрипт справится - может статься так что он прозрачное место тоже в поле слоя считает, тогда нетривиально понять виден слой или спрятан в тень от теней.
     
  7. Да, картинка обрезана, а все слои прозрачные. Это я всё пытаюсь записать универсальный экшин для ватермарка. Хотел было добавлять искажения с помощью Displace, но получилось некрасиво. Так что остановился на наложение через Bavel & Emboss.
     
  8. м.б. "выделить все"-кроп. Тогда все лишнее упразднится.))
     
  9. Так человеку нужно пустые слои ("всё лишнее") удалить.
    Уже после
     
  10. Теоретически (если скрипт писать) можно выделять все на слое и смотреть - выделилось что-то или нет,если размер выделения нулевой, то слой втопку. Разве что так. 'hmmm'
     
  11. Ну до таких-то мыслей и я додумался. ))
    Интересно узнать более эффективное решение. ))
     
  12. scripts - delete empty layers в пятнарике
     
    • Одобряю Одобряю x 2
  13. вот так 'cooll)'

    только, понятное дело, нужно пятнарик иметь ))
     
  14. А, ну да. ))
    Хех, у меня в CS6 тоже есть. ))
    Лень-матушка. '))'
    Никогда не пользовался.
     
  15. @_MBK_,
    Проверил. Не работает на векторных текстовых ни то ни другое.
     
  16. Тогда только скриптом. Хорошая новость - векторные текстовые слои по координатам фильтруются однозначно
     
  17. Стрелкой с контролом обвести канвас, выделятся все слои на канвасе. Инвертировать слоевую селекцию любым доступным способом, мочкануть слои.
     
  18. @subscribe,
    Какой инструмент "стрелкой" кличете?
     

  19. Накидал скрипт - прибить слой, если его высота или ширина нулевая
     
  20. move tool
     
    • Одобряю Одобряю x 1
  21. Там надо не по размеру, а по местонахождению.
     
  22. Вот как то так
    Код:
    #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();
      }
    
    }