19

Photoshopで、特定のフォルダーに対して次のタスクを自動的に実行したいと思います。

  1. 指定されたフォルダ内のすべてのPNGファイルをロードします。
  2. 各ファイルのモードをに変換しますRGB color
  3. 各ファイルに1つのレイヤーを追加します
  4. 同じフォルダにPSDとしてファイルを保存します

これはPhotoshopスクリプトで実行できると言われていますが、残念ながらJavaScriptの経験があまりないため、開始方法がわかりません。

私が知っていることの1つはActions、最後のステップ(4)を記録すると、Photoshopは、マクロの記録時に使用するフォルダーにPSDファイルを保存するアクションを記録するため(1つではなく)、上記のタスクを実行できないことです。元のPNGファイルをロードするために使用されます)。つまり、宛先フォルダーをマクロで使用されているフォルダーに固定します。

これにより、次の質問が表示されます。特定のアクションを実行するPhotoshop Javascriptコードを自動的に生成する方法はありますか?

もしそうなら、私は上記のフォルダの問題を修正するためにスクリプトを変更する方法を学んでもかまいません。

4

5 に答える 5

24

あなたが実際に太字で尋ねた質問に答えさせてください。Photoshopで行われているアクションとイベントのJavascriptを自動的に生成するツールがあります。これは、スクリプトリスナーと呼ばれます。スクリプトリスナーを使用してアクションを記録した後、ログを確認して選択的に編集します。

スクリプトリスナーの使用を開始するには

  1. Photoshopを閉じる
  2. ScriptListener.8liファイルを C:\ Program Files \ Adob​​e \ Adob​​e Photoshop CS5 \ Scripting\Utilitiesフォルダーからコピーします
  3. ファイルをC:\ Program Files \ Adob​​e \ Adob​​e Photoshop CS5 \ Plug-ins\Automateフォルダーに貼り付けます。
  4. Photoshopを実行し、スクリプトで実行したいアクションを実行します。
  5. Photoshopを閉じ、Automateフォルダーからスクリプトリスナーのコピーを削除します。
  6. スクリプトリスナーによってデスクトップに配置されたログファイルを編集します。

新しい手の込んだスクリプトをPhotoshopに取り込むには、jsx拡張子で作成したファイルをC:\ Program Files \ Adob​​e \ Adob​​e Photoshop CS5 \ Resets\Scriptsに配置します。

于 2012-06-28T22:26:40.337 に答える
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];
}

それは多くの方法で改善することができますが、私はそれが役立つことを願っています。

于 2011-05-27T15:40:11.760 に答える
7

これは古い質問だと思いますが、元の投稿で求められていることは、完全にPhotoshopアクションで実行できます。Photoshopのアクションは簡単に記録できます。記録を押して、手動で手順を実行するだけです。-開く、操作、保存の手順を含みます。

残された唯一のトリックは、アクションを記録した場所ではなく、特定のフォルダーでアクションを実行することです。ただし、それは簡単です。[開くを上書き]および[保存を上書き]オプションを使用します。このアクションは、[ファイル]->[自動化]->[バッチ]を使用するか、AdobeBridgeから[ツール]->[Photoshop]->[アクション]を使用して呼び出します。

例については、これを参照してください。

ここに画像の説明を入力してください

その他のヒントについては、こちらをご覧ください

于 2013-08-28T00:58:31.267 に答える
3

コンピューターでSaveAsDifferentFileType.jsxファイルを探します。これを開始点として使用できると思います。

このコードを自動的に生成する方法があります。私はそれがどのように機能するかを学ぶ方法はないと思います:

ここにドキュメントがあります:http ://www.adobe.com/devnet/photoshop/scripting.html そしてここにどこから始めればよいかを教えてくれるチュートリアルがあります:http: //morris-photographys.com/photoshop/tutorials/scripting1.html

MACを使用している場合は、Automator Photoshopのアクションを試すことができます:http: //www.completedigitalphotography.com/? p = 339

プログラミングのノウハウがなくても、やりたいことができるようになります。

于 2011-04-27T13:08:40.267 に答える
2

Kevinの回答を更新するために、ScriptListenerは別の場所に隠されています。

http://www.adobe.com/devnet/photoshop/scripting.html

「スクリプトリスナープラグイン」内。Windowsのプラグインディレクトリも変更されました。通常は次のとおりです。

C:\ Program Files \ Common Files \ Adob​​e \ Plug-Ins \ CC

于 2018-01-03T06:17:16.943 に答える