スクリプトでPhotoshopのルーチンワークを自動化しよう(2)

前回に引き続き、Photoshopのスクリプトを学んでいきましょう。
今回から、お題形式で具体的にスクリプトを書いていきます。

PhotoshopのスクリプトはJavascriptを拡張したプログラミング言語で書かれています。
最初の方は、スクリプトはを1から組み立てていくというよりは、ネットで検索してみて出てくるものを組み合わせて、スクリプトを作っていきましょう。
そこで役に立つPhotoshopのサンプルスクリプトがあるサイトを紹介します。

Adobe Photoshop CC自動化作戦
http://www.openspc2.org/book/PhotoshopCC/

だいたいのやりたいことはこちらのサイト内の組み合わせで実現できると思います。
とりあえず、このサイトで調べて、それでも見つからなかったらググるという流れで大丈夫です。

ステップ2: PNG形式で書き出すスクリプト

お題は”PNG形式で書き出す”です。
「こんなことわざわざスクリプトにする必要ないじゃん」と言われそうですが、最初から複雑なスクリプトは挫折してしまう人がいそうなのでこのレベルからスタートしましょう。

Adobe Photoshop CC自動化作戦を調べてみると、「PNG形式で保存する」というページがありますね。
ソースコードをコピペして実行してみましょう。

PNG形式で保存する
■ソースコード
fileObj = new File(“~/test.png”);
pngOpt = new PNGSaveOptions();
pngOpt.interlaced = false;
activeDocument.saveAs(fileObj, pngOpt, true, Extension.LOWERCASE);

http://www.openspc2.org/book/PhotoshopCC/easy/save/007/index.html

Windowsならマイドキュメントにtest.pngがファイルが書き出されれば成功です。

このままでは、”~/test.png” というファイルパスにしか書き出しできないので、PSDファイルと同じフォルダに同じ名前で書き出せるようにしていきましょう。

 

同じようにさがすと、「ドキュメントの保存パスを調べる」を調べるというページがありますね。

ドキュメントの保存パスを調べる
■ソースコード
fPath = activeDocument.path;
alert(fPath);

http://www.openspc2.org/book/PhotoshopCC/easy/file/024/index.html

ここをみると、activeDocument.pathでPSDのファイルパスが取れるようです。

こちらのファイルパスの拡張子を.psdから.pngに変更したパスが欲しいので文字の置き換えをする必要があります。

文字の置き換えをするをするには、

.toString().replace(対象の文字, 置換する文字);

とを変換したい文字列の後ろにつければいいです。

activeDocument.path.replace(".psd", ".png");

と書けば、良さそうです。

ではこれらを組み合わせて、

var docName = activeDocument.fullName.toString();
fileObj = new File(docName.replace(".psd", ".png"));
pngOpt = new PNGSaveOptions();
pngOpt.interlaced = false;
activeDocument.saveAs(fileObj, pngOpt, true, Extension.LOWERCASE);

PSDファイルと同じ場所にPNGファイルが書き出されれば成功です。
お疲れ様でした。

次回は、このスクリプトに機能を足して実用的なものを作っていきます。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中