[FIXED] Wie automatisieren Sie Photoshop?

Ausgabe

Ich versuche, den Prozess des Scannens/Zuschneidens von Fotos in Photoshop zu automatisieren. Ich muss 3 Fotos gleichzeitig scannen und dann den Photoshop-Befehl „Fotos zuschneiden und begradigen“ verwenden, der 3 separate Bilder erstellt. Danach möchte ich jedes der neu erstellten Bilder als PNG speichern.

Ich habe mir die JSX-Skripte angesehen und sie scheinen sehr vielversprechend zu sein. Kann das, was ich beschrieben habe, in Photoshop mit JavaScript oder VBScript oder was auch immer automatisiert werden?

Lösung

Ich habe tatsächlich die Antwort in den Photoshop-Foren bei Adobe bekommen. Es stellt sich heraus, dass Photoshop CS4 über JavaScript und VBScript vollständig skriptfähig ist und mit einer wirklich tollen Entwickler-IDE geliefert wird, die alles hat, was Sie erwarten (Debugger, Überwachungsfenster, Farbcodierung und mehr). Ich war total beeindruckt.

Nachfolgend ein Auszug zum Nachschlagen:

Sie können das folgende Skript ausführen, das einen neuen Ordner aus dem vorhandenen erstellt und alle Dateien stapelweise aufteilt, indem Sie ihnen den Namen “existingFileName#001.png” geben und sie in den neuen Ordner (bearbeitet) legen.

#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; 
};

Besuchen Sie hier für den vollständigen Beitrag.


Beantwortet von –
AngryHacker


Antwort geprüft von –
Robin (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like