スクリプトの使い方
Photoshop Scriptingを使ったことのない方向けに、基本的な使い方を説明します。
まず、ダウンロードしたlzhファイルを解凍してください。
- 一括色置換データ作成.js
- 一括色置換forアニメ素材.js
- 一括色置換forアニメ素材[すべての画像に適用して保存].js
の3つのファイルができます。
これはJavaScriptでかかれたプログラムです。
Photoshop CSをお使いの場合、「Photoshop CS\プリセット\スクリプト\」にコピーしてください。
他のverのPhotoshopをお使いの場合は、このページの一番下で紹介しているサイト等を参考に、適当なフォルダにコピーしてください。
Photoshopを再起動したら、
「ファイル」→「スクリプト」で読み込んで使うことができます。
「スクリプト」の項目の一番下の「参照」をクリックするとデフォルトでインストールされているサンプルスクリプトが使えます。
一括色置換データ作成.js の使い方
一括色置換データ作成.js は、RGBモード、レイヤー2枚からなる画像の
レイヤー間のデータを比較して、色が異なる部分を探し、
変更前と変更後の色のRGB値をテキストファイルに書き出すスクリプトです。
ソースはこちら(.txtになってるので.jsに変更して保存してください。utf-8)
まずphotoshopでキャラ設定画像を開きます。
レイヤーは1枚に統合されています。
この画像では背景は透明になっていますが、白でもなんでもかまいません。
このレイヤーを複製し、
変更したい部分だけを「塗りつぶしツール」で新しい色に塗り替えます。
「許容量」は0、「アンチエイリアス」「隣接」のチェックは外してください。
変更前の画像のレイヤーが下、変更後の画像のレイヤーが上になっているのを
確認したら
「ファイル」→「スクリプト」→「一括色置換データ作成」でスクリプトを読み込みます。
動作中はこんな状態になります。
激しく窓が出たり消えたりしますがそういう仕様ですのでご安心を。
色比較が終了すると「設定ファイル名を指定して保存します。」というダイアログが出ます。
適当なフォルダに適当な名前をつけて保存してください。
なお拡張子は自動的にはつきませんので、.datとか.txtとか適当につけてください。
中身はただのテキストファイルなので拡張子つけなくても読めるとは思います。

終了
保存した色指定データはこんなかんじ
テキストファイルなのでもちろん手動で書き込むこともできます。
各行左から元色のR,G,B,変更後のR,G,Bの値(0-255) TAB区切りです。
注意事項
- レイヤーは2枚じゃないとエラーが出ます。
- ビット深度については調べていないので、エラーが出たらご報告いただけると助かります。
- photoshopは、指定色での範囲選択時に内部的にlabカラーを使っているので、多少の誤差が出ます。近い色を使っていると、正確に色が置き換わらない可能性があります。
- アンチエイリアスがかかっている画像でも使えなくはないでしょうが、ものすごく処理時間がかかると思います。
一括色置換forアニメ素材.js の使い方
一括色置換データ作成.js で記録したテキストデータを読み込んで色を変更します。
ソースはこちら(.txtになってるので.jsに変更して保存してください。utf-8)
色指定データと同じ色で彩色した画像を、photoshopで開いてください。

今はレイヤー3枚とも緑髪です。
「ファイル」→「スクリプト」→「一括色置換forアニメ素材」でスクリプトを読み込みます。
すると「設定ファイルを選択してください。」というダイアログが出ます。

先ほど保存したファイル(
これ)を選択して、OKをクリックします。
あとは待つだけ

終了

レイヤー3枚とも変更されています。
注意事項
- psdだけでなくbmp,フルカラーpngでも使えます。
gifでも動くことは動きますが、パレットが違うのでおかしなことになります。
- photoshopは、指定色での範囲選択時に内部的にlabカラーを使っているので、多少の誤差が出ます。近い色を使っていると、正確に色が置き換わらない可能性があります。
- アンチエイリアスがかかっている画像でも使えなくはないでしょうがものすごく処理時間がかかると思います。
一括色置換forアニメ素材
[すべての画像に適用して保存].js の使い方
これは 一括色置換forアニメ素材.js の改造版です。
基本的な機能は同じですが、こちらは
- photoshop上で開いているすべての画像に適用される
- 色の置き換えが終わったら上書き保存される
ので扱いに注意してください。
作業対象ファイルをいったん作業用フォルダ等にコピーしてから、
phtoshopでまとめて開いてスクリプトを起動する、
という使い方を想定しています。
ソースはこちら(.txtになってるので.jsに変更して保存してください。utf-8)
Photoshop Scriptingて何?
Photoshop ScriptingはPhotoshopをいろいろいじれる便利な機能です。私はJavaScriptを使いましたが、他にAppleScript,VBでも書けるようです。自分の得意な言語で書けばいいと思います。
JavaScriptで実現できない機能はアクションとかVBとか外部ソフトを呼んで実現できますので、わりとなんでもできます。
ただ、ピクセル単位で色を取得する等は苦手みたいです。そういうのはフィルタを使えということでしょうか。
チェック柄を描画する、座標を数値で指定して画像を切り取る、等の用途で使っている方が多いようです。
Photoshop Scriptingと同様の機能は他のadobe製品でも使えるらしいです。
私の作ったスクリプトは、ソースに細かくコメントを入れていますので、もっとスマートに書ける方は改造していただければと思います。
Photoshop Scripting(Javascript)を扱っているサイト
以上
ver.1.1 2006/07/22
ver.1 2006/07/20
コメントする