Automation 如何使Photoshop自动化?

Automation 如何使Photoshop自动化?,automation,photoshop,extendscript,Automation,Photoshop,Extendscript,我正在尝试在Photoshop中自动扫描/裁剪照片。我需要一次扫描3张照片,然后使用Photoshop的“裁剪并拉直照片”命令创建3张单独的图像。之后,我想将每个新创建的图像保存为PNG 我看了JSX脚本,它们看起来很有前途。我所描述的内容是否可以在Photoshop中使用JavaScript或VBScript或其他工具实现自动化 您是否尝试过使用Photoshop操作?我现在不知道扫描部分,但其余部分都可以通过操作轻松完成。您尝试过使用Photoshop操作吗?我现在不知道扫描部分,但其余部分

我正在尝试在Photoshop中自动扫描/裁剪照片。我需要一次扫描3张照片,然后使用Photoshop的“裁剪并拉直照片”命令创建3张单独的图像。之后,我想将每个新创建的图像保存为PNG


我看了JSX脚本,它们看起来很有前途。我所描述的内容是否可以在Photoshop中使用JavaScript或VBScript或其他工具实现自动化

您是否尝试过使用Photoshop操作?我现在不知道扫描部分,但其余部分都可以通过操作轻松完成。

您尝试过使用Photoshop操作吗?我现在不知道扫描部分,但其余部分都可以通过操作轻松完成。

我实际上在adobe的Photoshop论坛上得到了答案。事实证明,Photoshop CS4完全可以通过JavaScript、VBScript编写脚本,并且附带了一个非常棒的开发人员IDE,它拥有您所期望的一切(调试器、观察窗口、颜色编码等等)。我印象深刻

以下摘录供参考:

您可以运行以下脚本,该脚本将在现有文件夹的基础上创建一个新文件夹,并批量拆分所有命名为existingFileName#001.png的文件,然后将其放入新文件夹(已编辑)

#目标Photoshop
app.bringToFront;
var inFolder=Folder.selectDialog(“请选择要处理的文件夹”);
if(inFolder!=null){
var fileList=inFolder.getFiles(/\(jpg | tif | psd |)$/i);
var outfolder=新文件夹(decodeURI(inFolder)+“/Edited”);
如果(outfolder.exists==false)outfolder.create();
对于(var a=0;a

请访问以获取完整的帖子。

我实际上在adobe的Photoshop论坛上得到了答案。事实证明,Photoshop CS4完全可以通过JavaScript、VBScript编写脚本,并且附带了一个非常棒的开发人员IDE,它拥有您所期望的一切(调试器、观察窗口、颜色编码等等)。我印象深刻

以下摘录供参考:

您可以运行以下脚本,该脚本将在现有文件夹的基础上创建一个新文件夹,并批量拆分所有命名为existingFileName#001.png的文件,然后将其放入新文件夹(已编辑)

#目标Photoshop
app.bringToFront;
var inFolder=Folder.selectDialog(“请选择要处理的文件夹”);
if(inFolder!=null){
var fileList=inFolder.getFiles(/\(jpg | tif | psd |)$/i);
var outfolder=新文件夹(decodeURI(inFolder)+“/Edited”);
如果(outfolder.exists==false)outfolder.create();
对于(var a=0;a

访问以获取完整的帖子。

我刚刚发现这个脚本为我完成了工作!它会自动裁剪和拉直照片,并将每个结果保存到您指定的目录中

将其保存到本地,然后在PS=>File=>Command=>Browse中运行它

另外,我在评论中发现,该脚本可以通过双击MacFinder或WindowsExplorer直接执行


我刚刚发现这个脚本为我完成了任务!它会自动裁剪和拉直照片,并将每个结果保存到您指定的目录中

将其保存到本地,然后在PS=>File=>Command=>Browse中运行它

另外,我在评论中发现,该脚本可以通过双击MacFinder或WindowsExplorer直接执行。
#target Photoshop
app.bringToFront;
var inFolder = Folder.selectDialog("Please select folder to process"); 
if(inFolder != null){
    var fileList = inFolder.getFiles(/\.(jpg|tif|psd|)$/i);
    var outfolder = new Folder(decodeURI(inFolder) + "/Edited");
    if (outfolder.exists == false) outfolder.create();
    for(var a = 0 ;a < fileList.length; a++){
    if(fileList[a] instanceof File){
        var doc= open(fileList[a]);
        doc.flatten();
        var docname = fileList[a].name.slice(0,-4);
        CropStraighten();
        doc.close(SaveOptions.DONOTSAVECHANGES); 
        var count = 1;
        while(app.documents.length){
            var saveFile = new File(decodeURI(outfolder) + "/" + docname +"#"+ zeroPad(count,3) + ".png");
            SavePNG(saveFile);
            activeDocument.close(SaveOptions.DONOTSAVECHANGES) ; 
            count++;
            }
        }
    }
};
function CropStraighten() {
    function cTID(s) { return app.charIDToTypeID(s); };
    function sTID(s) { return app.stringIDToTypeID(s); };
    executeAction( sTID('CropPhotosAuto0001'), undefined, DialogModes.NO );
};
function SavePNG(saveFile){
    pngSaveOptions = new PNGSaveOptions(); 
    pngSaveOptions.embedColorProfile = true; 
    pngSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE; 
    pngSaveOptions.matte = MatteType.NONE; 
    pngSaveOptions.quality = 1; 
    pngSaveOptions.PNG8 = false; //24 bit PNG
    pngSaveOptions.transparency = true; 
    activeDocument.saveAs(saveFile, pngSaveOptions, true, Extension.LOWERCASE); 
}

function zeroPad(n, s) { 
    n = n.toString(); 
    while (n.length < s) n = '0' + n; 
    return n; 
};