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

Altuhov Rostislav

Участник
Сообщения
83
Реакции
22
Дык через стили слоя тоже придется работать с каждым текстовым слоем. Мой способ проще и меньше вероятность перехитрить самого себя и накосячить, применив не тот стиль на не тот слой
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
Да все так, пирожок по праву ваш
Я просто напоминаю, что слоев в макете (чисто гипотетически) много и, вероятно, они сложным образом группированны. А смысл топиковой задачи - именно быстро перекрасить их все.
Но здесь, почему то, все присутствующие пытаются изгаляться с разными извращениями ручного перебора слоев, вместо того, чтоб думать над однокликовым решением для всех слоев сразу
 
  • Спасибо
Реакции: egorus2010

egorus2010

Топикстартер
12 лет на форуме
Сообщения
1 520
Реакции
51
Причем заметьте, я даже не просил вас думать :)
Вроде бы у всех все просто, но нужно приспособиться.
Спасибо, услышал много нового.
Но в Фотошопе верстать все равно не буду.
 
Последнее редактирование:

suntory

Administrator
15 лет на форуме
Сообщения
23 424
Реакции
12 469
вместо того, чтоб думать над однокликовым решением для всех слоев сразу
А твой скрипт если шрифта нет все равно перекрасит? И составных черных может быть несколько разных
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
А твой скрипт если шрифта нет все равно перекрасит?
Не пробовал. А текстовый слой перестает быть текстовым если шрифта нет?
И составных черных может быть несколько
Ну поправить на нужный. В конце концов, можно сделать, чтобы перекрашивал все RGB эквиваленты 000000
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
Это уже не однокликово будет.
Отчего же? Вот такой вариант перекрашивает весь текст, яркость которого темнее 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;
   }
 }
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
Или ты имел в виду не две строки? Если не жопиться на строки, то такой вариант заодно и мультиплай текстовому слою делает - совсем все в одном флаконе! ;)
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 );
   }
 }
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844

suntory

Administrator
15 лет на форуме
Сообщения
23 424
Реакции
12 469
Ну и если шрифт заменит автоматом, то годится только на случаи когда шрифты есть/можно и не лень установить.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
Не знаю, тоже самое будет, даже хуже
Меньше 10 однозначно практически черный. В любом случае, по макету смотреть надо
Ну и если шрифт заменит автоматом, то годится только на случаи когда шрифты есть/можно и не лень установить.
При чем тут шрифты? Файл уже открыт, примем это как данность
 

suntory

Administrator
15 лет на форуме
Сообщения
23 424
Реакции
12 469
Файл уже открыт, примем это как данность
Так он заменяет только при попытке редактировать Type tool, если текст не редактировать как текст, то шрифты не нужны и не подменяются.
Меньше 10 однозначно практически черный.
Такой? ;)
116712
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844

suntory

Administrator
15 лет на форуме
Сообщения
23 424
Реакции
12 469
Ну тогда фиг с ним :)
 

idreamer

12 лет на форуме
Сообщения
290
Реакции
95
а что мешает нажать в палитре слоёв букву "Т", выбрать все нужные текстовые слои, потом тыкнуть в палитре Color на прямоугольник с цветом (он будет со знаком вопроса на белом фоне) и закрасить 0,0,0,100?
 
  • Спасибо
Реакции: suntory