[PS CC-CC2022] Сохранение из Photoshop для верстки

  • Автор темы Автор темы egorus2010
  • Дата начала Дата начала
Дык через стили слоя тоже придется работать с каждым текстовым слоем. Мой способ проще и меньше вероятность перехитрить самого себя и накосячить, применив не тот стиль на не тот слой
 
Да все так, пирожок по праву ваш
Я просто напоминаю, что слоев в макете (чисто гипотетически) много и, вероятно, они сложным образом группированны. А смысл топиковой задачи - именно быстро перекрасить их все.
Но здесь, почему то, все присутствующие пытаются изгаляться с разными извращениями ручного перебора слоев, вместо того, чтоб думать над однокликовым решением для всех слоев сразу
 
  • Спасибо
Реакции: egorus2010
Причем заметьте, я даже не просил вас думать :)
Вроде бы у всех все просто, но нужно приспособиться.
Спасибо, услышал много нового.
Но в Фотошопе верстать все равно не буду.
 
Последнее редактирование:
вместо того, чтоб думать над однокликовым решением для всех слоев сразу
А твой скрипт если шрифта нет все равно перекрасит? И составных черных может быть несколько разных
 
А твой скрипт если шрифта нет все равно перекрасит?
Не пробовал. А текстовый слой перестает быть текстовым если шрифта нет?
И составных черных может быть несколько
Ну поправить на нужный. В конце концов, можно сделать, чтобы перекрашивал все RGB эквиваленты 000000
 
Это уже не однокликово будет.
Отчего же? Вот такой вариант перекрашивает весь текст, яркость которого темнее 20%
JavaScript:
var doc=app.activeDocument;
 
 
 
  var newCol = new SolidColor();
  newCol.cmyk.cyan=0;
  newCol.cmyk.magenta=0;
  newCol.cmyk.yellow=0;
  newCol.cmyk.black=100;    // меняем на 100К
  for (var i=0;i<doc.artLayers.length;i++)
  if (doc.artLayers[i].kind==LayerKind.TEXT)
  {
  
   if (doc.artLayers[i].textItem.color.lab.l<20)
   {
      
       doc.artLayers[i].textItem.color=newCol;
   }
 }
 
Или ты имел в виду не две строки? Если не жопиться на строки, то такой вариант заодно и мультиплай текстовому слою делает - совсем все в одном флаконе! ;)
JavaScript:
var doc=app.activeDocument;
 
  var newCol = new SolidColor();
  newCol.cmyk.cyan=0;
  newCol.cmyk.magenta=0;
  newCol.cmyk.yellow=0;
  newCol.cmyk.black=100;    // меняем на 100К
  for (var i=0;i<doc.artLayers.length;i++)
  if (doc.artLayers[i].kind==LayerKind.TEXT)
  {
  
   if (doc.artLayers[i].textItem.color.lab.l<20)
   {
      
       doc.artLayers[i].textItem.color=newCol;
       doc.activeLayer=doc.artLayers[i];
       var id2526 = charIDToTypeID( "setd" );
       var desc124 = new ActionDescriptor();
       var id2527 = charIDToTypeID( "null" );
        var ref12 = new ActionReference();
        var id2528 = charIDToTypeID( "Lyr " );
        var id2529 = charIDToTypeID( "Ordn" );
        var id2530 = charIDToTypeID( "Trgt" );
        ref12.putEnumerated( id2528, id2529, id2530 );
        desc124.putReference( id2527, ref12 );
        var id2531 = charIDToTypeID( "T   " );
        var desc125 = new ActionDescriptor();
        var id2532 = charIDToTypeID( "Md  " );
        var id2533 = charIDToTypeID( "BlnM" );
        var id2534 = charIDToTypeID( "Mltp" );
        desc125.putEnumerated( id2532, id2533, id2534 );
        var id2535 = charIDToTypeID( "Lyr " );
        desc124.putObject( id2531, id2535, desc125 );
        executeAction( id2526, desc124, DialogModes.NO );
   }
 }
 
Ну и если шрифт заменит автоматом, то годится только на случаи когда шрифты есть/можно и не лень установить.
 
Не знаю, тоже самое будет, даже хуже
Меньше 10 однозначно практически черный. В любом случае, по макету смотреть надо
Ну и если шрифт заменит автоматом, то годится только на случаи когда шрифты есть/можно и не лень установить.
При чем тут шрифты? Файл уже открыт, примем это как данность
 
Файл уже открыт, примем это как данность
Так он заменяет только при попытке редактировать Type tool, если текст не редактировать как текст, то шрифты не нужны и не подменяются.
Меньше 10 однозначно практически черный.
Такой? ;)
116712
 
Ну тогда фиг с ним :)
 
а что мешает нажать в палитре слоёв букву "Т", выбрать все нужные текстовые слои, потом тыкнуть в палитре Color на прямоугольник с цветом (он будет со знаком вопроса на белом фоне) и закрасить 0,0,0,100?
 
  • Спасибо
Реакции: suntory