Photoshop 保存操作按名称选择图层
Posted
技术标签:
【中文标题】Photoshop 保存操作按名称选择图层【英文标题】:Photoshop saving action selecting layers by name 【发布时间】:2020-02-14 08:47:56 【问题描述】:我想知道是否可以在单个 psd 文件中进行以下操作:
使用特定名称(例如“one”)使一层可见(之前不可见) 使用特定名称使另一个图层不可见(之前可见),例如“two” 保存此文档,将其命名为“name_01.jpg”,即 01 序列号 使“二”层不可见 使图层“三”可见(之前可见) 将此文档另存为“name_02” 以此类推,大约二十层有什么方法可以编码吗?我已经搜索了一段时间,甚至找不到任何相关的东西。
非常感谢!
【问题讨论】:
回答您的问题:是的,有可能。是的,有一种方法可以对此进行编码。 到目前为止您尝试过什么? this 可能有助于改善您的问题 【参考方案1】:您不会仅仅在互联网上找到满足您特定需求的代码。
生活没那么容易。
但是,有很多地方可以学习基本概念。这是您需要的基本内容。我建议你用循环修改它:
// call the source document
var srcDoc = app.activeDocument
// get layer "one"
app.activeDocument.activeLayer = app.activeDocument.artLayers.getByName("one");
// set it's visibility to be true
app.activeDocument.activeLayer.visible = true;
// get layer "two"
app.activeDocument.activeLayer = app.activeDocument.artLayers.getByName("two");
// set it to ve invisible
app.activeDocument.activeLayer.visible = false;
// set the name of the file here [CHANGE THIS]
var filePath = "c:\mypath\name_01.jpg";
// save as jpeg
save_as_jpeg(filePath);
app.activeDocument.activeLayer = app.activeDocument.artLayers.getByName("one");
app.activeDocument.activeLayer.visible = false;
app.activeDocument.activeLayer = app.activeDocument.artLayers.getByName("two");
app.activeDocument.activeLayer.visible = true;
// set the name of the file here [CHANGE THIS]
filePath = "c:\mypath\name_02.jpg";
// save as jpeg
save_as_jpeg(filePath);
function save_as_jpeg(filePath)
// Flatten the jpg
activeDocument.flatten();
// jpg file options
var jpgFile = new File(filePath);
jpgSaveOptions = new JPEGSaveOptions();
jpgSaveOptions.formatOptions = FormatOptions.OPTIMIZEDBASELINE;
jpgSaveOptions.embedColorProfile = true;
jpgSaveOptions.matte = MatteType.NONE;
jpgSaveOptions.quality = myJpgQuality;
activeDocument.saveAs(jpgFile, jpgSaveOptions, true, Extension.LOWERCASE);
//close without saving
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
您正在寻找的是一种将上述代码和loop 放在上面的方法,以便它执行一层到二十层。
【讨论】:
以上是关于Photoshop 保存操作按名称选择图层的主要内容,如果未能解决你的问题,请参考以下文章