Ame*_*ina 15 javascript photoshop photoshop-script
我希望Photoshop自动执行给定文件夹的以下任务:
RGB color有人告诉我这可以用Photoshop脚本完成,但我不知道如何开始,因为不幸的是我没有太多的JavaScript经验.
我知道的一件事是我无法运行上面的任务Actions因为当我记录最后一步(4)时,Photoshop记录了将PSD文件保存在录制宏时使用的文件夹中的操作(而不是用于加载原始PNG文件).换句话说,它将目标文件夹修复为宏中使用的目标文件夹.
这让我想到了以下问题:有没有办法自动生成运行给定操作的Photoshop Javascript代码?
如果是这样,我不介意学习如何修改脚本来修复上述文件夹问题.
Kev*_*rst 19
让我回答一下您实际粗体问的问题:有一个工具可以自动为Photoshop中发生的动作和事件生成Javascript.它被称为脚本侦听器.使用脚本侦听器记录您的操作后,请查看日志并进行选择性编辑.
开始使用脚本侦听器
要将新的脚本放入Photoshop,请将使用jsx扩展创建的文件放入C:\ Program Files\Adobe\Adobe Photoshop CS5\Presets\Scripts.
Lynda.com有一个关于使用脚本和脚本监听器的好课程.它是一个会员制网站,但不是免费的(25美元至35美元).
jan*_*ani 13
我制作了一个完成所需工作的脚本:
#target photoshop
#strict on
runthis();
function runthis()
{
var path = "/d/PhotoshopScript/Images/";
var inputFolder = new Folder(path );
var inputFiles = inputFolder.getFiles("*.png");
for(index in inputFiles)
{
// open the file
var fileToOpen = new File(inputFiles[index]);
open(fileToOpen);
// Change mode to rgb
activeDocument.changeMode(ChangeMode.RGB);
// add a new layer
activeDocument.artLayers.add();
//save
var psdOptions = new PhotoshopSaveOptions();
psdOptions.alphaChannels = true;
psdOptions.annotations = false;
psdOptions.embedColorProfile = false;
psdOptions.layers = true;
psdOptions.spotColors = false;
var file = new File(path + GetFileName(String(inputFiles[index])));
activeDocument.saveAs(file, psdOptions);
activeDocument.close();
// dispose
fileToOpen = null;
psdOptions = null;
file = null;
}
// dispose
inputFolder = null;
inputFiles = null;
}
function GetFileName(fullPath)
{
var m = fullPath.match(/(.*)[\/\\]([^\/\\]+)\.\w+$/);
return m[2];
}
Run Code Online (Sandbox Code Playgroud)
它可以在很多方面得到改进,但我希望它有所帮助.