2009-04-26 14 views
0

Ich versuche den Vorgang 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.Wie Photoshop automatisieren?

Ich schaute auf die JSX-Skripte und sie scheinen sehr vielversprechend. Ist das, was ich beschrieben habe, in Photoshop mit JavaScript oder VBScript oder was auch immer zu automatisieren?

+0

Haben Sie versucht, Google? Tipp CodeProject ... –

+0

Google ist mir nie in den Sinn gekommen.. Link bitte. – AngryHacker

Antwort

1

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

Es folgt ein Auszug Referenz:

können Sie das folgende Skript ausführen, die einen neuen Ordner aus dem bestehenden und Batch erstellen wird geteilt, alle Dateien, um sie zu benennen existingFileName # 001.png und sie in der neue Ordner (bearbeitet)

#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 here für eine vollständige Post.

+0

Ich würde empfehlen, mit JavaScript/ExtendScript zum Schreiben von Photoshop-Skripten beizubehalten. Die Verwendung anderer Sprachen (VBScript, AppleScript usw.) ist veraltet, und für sie wird keine weitere DOM-Unterstützung mehr bereitgestellt. –

1

Haben Sie versucht, Photoshop-Aktionen zu verwenden? Ich mache jetzt nichts über den Scan-Teil, aber der Rest kann ganz einfach durch Aktionen erledigt werden.

2

Ich fand gerade dieses Skript hat nur die Arbeit für mich gemacht! Es automatisch zuschneiden & begradigen Sie das Foto und speichern Sie jedes Ergebnis in das Verzeichnis, das Sie angegeben haben.

http://www.tranberry.com/photoshop/photoshop_scripting/PS4GeeksOrlando/IntroScripts/cropAndStraightenBatch.jsx

speichern es zu lokalen führen Sie es dann in der PS => Datei => Command => durchsuchen

PS ich im Kommentar fand es das Skript sagte aus direkt durch einen Doppelklick ausgeführt werden Mac Finder oder Windows Explorer.

Backup gist for the script here

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. –

+0

Nicht mein Code, also werde ich es in den Kern setzen. – Robert