フォトショップスクリプト – ベタ塗レイヤーの色情報を取得
function getSolidFillColor(){ var ref = new ActionReference(); ref.putEnumerated( charIDToTypeID("Lyr "), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") ); var desc = executeActionGet(ref) var adjList = desc.getList(stringIDToTypeID('adjustment')); var adjDesc = adjList.getObjectValue(0); var colorDesc = adjDesc.getObjectValue(stringIDToTypeID('color')); var Colour = new SolidColor(); Colour.rgb.red = colorDesc.getDouble(charIDToTypeID('Rd ')); Colour.rgb.green = colorDesc.getDouble(charIDToTypeID('Grn ')); Colour.rgb.blue = colorDesc.getDouble(charIDToTypeID('Bl ')) return Colour; }
アドビのフォーラムで偶然見つけました。
var color = getSolidFillColor() ;
alert( color.rgb.red );
等とすると選択されているベタ塗りレイヤーの色情報を取得できます。
フォトショップのスクリプトで一番困るのは、どんな関数が存在するのかわからないのと、
その関数に何を入れると何が帰ってくるのか分からないことです。
どこかに情報があるのでしょうか?いつもそれで困ります。
しかも不思議なことに、それがわからないからアラートを出すようにして探ると、
その変数が使用される前にアラートを出すようにしても、その変数が使用されるところでアラートが出なくなる。
なので、使っている変数を順番にアラートに出すようにすると、どこで躓いているのかが分かる。
という意味の分からない仕様です。
自分が理解していないだけ、というのももちろんありますが、腑に落ちない。
そもそも疑っている。
フォトショップのCS6がアナウンスされています。
もっとスクリプトが使いやすくなっていないだろうか。と淡い期待を抱きますが、恐らく無理でしょう。
しかし、ともかくも長年の疑問が晴れました。公開してくれた人ありがとうございます。
コメントする
トラックバックする
トラックバック用URL: