top

【PhotoshopCS3+javascript】画像サイズの変更

by buruge ~ 6月 8th, 2008. Filed under: DTP, PhotoshopCS3+javascript.

今回、仕事で大量の印刷用EPS画像を、WEB用JPEG画像に変換しなければならなくなりました。
初のPhotoshopでのスクリプティング。

カラーモードをCMYKからRGBへ。
画像解像度を350dpiから72dpiへ。

これだけなら、別にアクション作ってバッチ処理しちゃばバッチrいやなんでもないんですが、ファイル名を商品コードにリネームしなくちゃならんのです。
手でリネームしていくのは入力ミスが怖いし、コピペでやっていくのも選択ミスが怖い。
なので商品コードとファイル名が記述されたタブ区切りテキストファイルを用意してもらい、変換もろともスクリプトで一気にリネームすることにしました。
(タブ区切りテキスト作成も、ちょっとInDesignにスクリプト走らせたりしたんですが、本題とズレるので割愛)

  1. タブ区切りテキストと、指定したフォルダ内のeps画像の名前を読み込む。
  2. タブ区切りテキストを1行読み込み、そのファイル名がの画像がフォルダの中に存在するか調べる。
  3. 存在した場合は開いて、カラーモード変更、画像解像度変更。
  4. タブ区切りテキストでファイル名と共に記してある商品コードの名前でJPEG保存する。

以上をタブ区切りテキストが終わるまで続ける。
という感じで作ってみました。
カラーモード変換とリネームしてJPEG保存はOpenSpace(Adobe Photoshop CS3自動化作戦)を参考にしたので特に問題なかったのですが、画像解像度に少し手子摺りました。
解像度を調べるプロパティ(resolution)が、書き込み禁止で変更が効かなかったからです。
けどまあ、できないわけないだろうと思って英語のリファレンスをずっと眺めていたらありました。
resizeImageで行けるんですね。
今回、画像の縦横比に関しては指定がなく、単純に倍率とかで縮小してたら小さくなりすぎたりしていたので、再サンプルを行わずに純粋に解像度のみを350から72に落とすことにしました。

activeDocument.resizeImage(null,null , 72, ResampleMethod.NONE);

第1,2引数がそれぞれ幅と高さを、第3引数に解像度を指定。
第4引数に画像の再サンプル方法を指定。今回は再サンプルなしなのでNONEです。
で、再サンプルなしの時はいずれか一つを指定することになっているので、第1,2引数はnullとしました。

ちなみに再サンプルの指定なんですが、

  • BICUBIC バイキュービック法
  • BICUBICSHARPER バイキュービック法(シャープ)
  • BICUBICSMOOTHER バイキュービック法(滑らか)
  • BILINEAR バイリニア法
  • NEARESTNEIGHBOR ニアレストネイバー法
  • NONE 再サンプルなし

ということみたいです。
メモメモ。

Leave a Reply