Photoshop CS4自動化作戦

文字を表示する

 それでは次にPhotoshop CS4で文字を表示してみましょう。以下のプログラムを入力してみてください。

preferences.rulerUnits = Units.POINTS;
docObj = app.documents.add(320,240);
layObj = docObj.artLayers.add();
layObj.kind = LayerKind.TEXT;
layObj.textItem.contents = "Photoshop !!";

 1行目は単位を設定するもので、これは前に説明しました。ここでも単位をポイントにしています。2行目は320ポイント×240ポイントのサイズで新規にドキュメントを作成しています。3行目でレイヤーを新規に作成しています。
 ここで作成されたレイヤーの情報を変数に入れておきます。このように変数に入れておくと、このレイヤーを操作する場合に変数を利用して処理することができるためです。4行目でレイヤーの種類を「テキスト」にしています。Photoshop CS4ではレイヤーを作成して、文字列を指定すれば表示されるわけではありません。レイヤーには様々な種類があるため、どういう種類のレイヤーなのかを設定しておく必要があるのです。レイヤーの種類をテキストに設定したら、ようやく文字を表示させることができるようになります。これが一番最後の行です。
 文字を表示するにはレイヤーのtextItem.contentsに表示させたい文字を入れます。ここでは英語を表示していますが、もちろん日本語も問題ありません。日本語の場合実行するスクリプトファイルの文字コードをUTF-8にしておくという点には注意しておいてください。

 文字を表示しましたので、次に文字のサイズを変更してみましょう。以下のスクリプトは文字を36ポイントにするものです。

preferences.rulerUnits = Units.POINTS;
docObj = app.documents.add(320,240);
layObj = docObj.artLayers.add();
layObj.kind = LayerKind.TEXT;
layObj.textItem.contents = "Photoshop !!";
layObj.textItem.size = 36;

 先ほどのスクリプトに1行追加しただけです。追加したのは一番最後の行です。文字のサイズはsizeで指定します。これでPhotoshop CS4で文字を表示し文字のサイズを変更することができるようになりました。ただし、標準の命令だけでは1文字ごとに細かく処理を行うことができないので注意が必要です。