【问题标题】:Photoshop script hide and save with level namePhotoshop 脚本使用关卡名称隐藏和保存
【发布时间】:2013-11-28 14:10:45
【问题描述】:

我有一个包含大约 200 个关卡的 Photoshop 文件,我需要将每个关卡保存到网络上,并且关卡名称隐藏其他关卡...有没有办法用脚本来做到这一点? 谢谢

【问题讨论】:

  • 级别??你是说图层吗?你的意思是将图层名称保存为文件名吗?

标签: photoshop


【解决方案1】:

这会将每个图层保存为 jpeg,以图层名称命名。您无需隐藏图层;而是将每一层复制为新图像,展平,保存然后关闭。不会与任何团体合作(通常您必须为此支付额外费用;))

var srcDoc = app.activeDocument;
var numOfLayers = srcDoc.layers.length;
var jpegQuality = 12;

for (var i = numOfLayers -1; i >= 0  ; i--)
{
  var theLayerName = srcDoc.layers[i].name;
  var theFile = srcDoc.path;
  srcDoc.activeLayer = srcDoc.artLayers[i];
  var id2784 = charIDToTypeID( "Mk  " );
  var desc707 = new ActionDescriptor();
  var id2785 = charIDToTypeID( "null" );
  var ref508 = new ActionReference();
  var id2786 = charIDToTypeID( "Dcmn" );
  ref508.putClass( id2786 );
  desc707.putReference( id2785, ref508 );
  var id2787 = charIDToTypeID( "Nm  " );
  desc707.putString( id2787, theLayerName );
  var id2788 = charIDToTypeID( "Usng" );
  var ref509 = new ActionReference();
  var id2789 = charIDToTypeID( "Lyr " );
  var id2790 = charIDToTypeID( "Ordn" );
  var id2791 = charIDToTypeID( "Trgt" );
  ref509.putEnumerated( id2789, id2790, id2791 );
  desc707.putReference( id2788, ref509 );
  executeAction( id2784, desc707, DialogModes.NO );
  app.activeDocument.flatten();
  SaveForWeb(theFile, jpegQuality);
  app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
  app.activeDocument = srcDoc;
}

function SaveForWeb(saveFile, jquality)
{
  var sfwOptions = new ExportOptionsSaveForWeb(); 
  sfwOptions.format = SaveDocumentType.JPEG; 
  sfwOptions.includeProfile = false; 
  sfwOptions.interlaced = 0; 
  sfwOptions.optimized = true; 
  sfwOptions.quality = jquality; 
  activeDocument.exportDocument(saveFile, ExportType.SAVEFORWEB, sfwOptions);
}

【讨论】:

    猜你喜欢
    • 2012-08-30
    • 1970-01-01
    • 2017-04-28
    • 2020-02-14
    • 1970-01-01
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    相关资源
    最近更新 更多