2009-04-26 14 views
0

Photoshopで写真をスキャン/クロッピングするプロセスを自動化しようとしています。私は一度に3枚の写真をスキャンし、PhotoshopのCrop and Straighten Photosコマンドを使用して3つの別々の画像を作成する必要があります。その後、新しく作成した各画像をPNG形式で保存したいと思います。Photoshopを自動化するには?

私はJSXスクリプトを見て、彼らは多くの約束のようです。私は、JavaScriptやVBScriptなどを使ってPhotoshopで自動化することが可能だと言いましたか?

+0

Googleを試しましたか?ヒントコードプロジェクト... –

+0

Googleは決して私には起こりませんでした。。リンクしてください。 – AngryHacker

答えて

1

私は実際にAdobe Photoshopフォーラムで答えを得ました。 Photoshop CS4は、JavaScript、VBScriptを使用して完全にスクリプト化可能で、期待していたすべてのもの(デバッガ、ウォッチウィンドウ、色分けなど)を備えた、本当にキュートな開発者用IDEが付属しています。私は全く感銘を受けました。

は、以下の参考のための抽出物である:

あなたがそれらexistingFileName#001.pngを命名するすべてのファイルを分割し、既存のバッチオフに新しいフォルダを作成する次のスクリプトを実行して、それらを置くことができます完全なポストのための新しいフォルダ(編集済み)

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

訪問here

+0

Photoshopスクリプトを書くためにJavaScript/ExtendScriptを使うことをお勧めします。他の言語(VBScript、AppleScriptなど)の使用は廃止され、それ以上のDOMサポートは提供されません。 –

1

Photoshopのアクションを使ってみましたか?私はスキャン部分については今はしませんが、残りの部分はすべて簡単にアクションで行うことができます。

2

私はちょうど私のために仕事をしたこのスクリプトを見つけた!それは自動的に&写真をまっすぐにトリミングし、指定したディレクトリに各結果を保存します。それ保存

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

ローカルに続いPS =>ファイル=>コマンドでそれを実行=>私はそれがスクリプトからダブルクリックして直接実行することができると述べたコメントで見つかった

PSを見ますMac FinderまたはWindows Explorer。

Backup gist for the script here

+0

このリンクは質問に答えるかもしれませんが、答えの本質的な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 –

+0

私のコードではないので、私はそれを要点に入れます。 – Robert

関連する問題