クリエイター手抜きプロジェクト[138]Photoshop CS/CS2編 テキストレイヤーのみ色を付ける
── 古籏一浩 ──

投稿:  著者:


Photoshop CS/CS2で、テキストレイヤーのみレイヤーパレットに表示されているレイヤーに色を付けるものです。以下のスクリプトは、ドキュメントのレイヤーパレットに表示されているレイヤーの色を赤色にするものです。


colorName = "Rd ";
setLayerColor(colorName);
function setLayerColor(colorNameString)
{
var id21 = charIDToTypeID( "setd" );
var desc4 = new ActionDescriptor();
var id22 = charIDToTypeID( "null" );
var ref2 = new ActionReference();
var id23 = charIDToTypeID( "Lyr " );
var id24 = charIDToTypeID( "Ordn" );
var id25 = charIDToTypeID( "Trgt" );
ref2.putEnumerated( id23, id24, id25 );
desc4.putReference( id22, ref2 );
var id26 = charIDToTypeID( "T " );
var desc5 = new ActionDescriptor();
var id27 = charIDToTypeID( "Clr " );
var id28 = charIDToTypeID( "Clr " );
var id29 = charIDToTypeID( colorNameString ); // レイヤーカラー
desc5.putEnumerated( id27, id28, id29 );
var id30 = charIDToTypeID( "Lyr " );
desc4.putObject( id26, id30, desc5 );
executeAction( id21, desc4, DialogModes.NO );
}

指定するレイヤーの色を変更するには最初の行の"Rd "を変更します。
この文字列が色の名前になっており、以下のものが指定できます。

"Rd " 赤色
"Orng" 橙色
"Ylw " 黄色
"Grn " 緑色
"Bl " 青色
"Vlt " 紫色
"Gry " 灰色
"None" 白色(色なし)

テキストレイヤーのみ色を付ける場合には以下のスクリプトになります。

colorName = "Rd ";
layObj = activeDocument.layers;
for (i=0; i< layObj.length; i++) {
if(layObj[i].kind == LayerKind.TEXT)
{
activeDocument.activeLayer = layObj[i];
setLayerColor(colorName);
}
}
function setLayerColor(colorNameString)
{
var id21 = charIDToTypeID( "setd" );
var desc4 = new ActionDescriptor();
var id22 = charIDToTypeID( "null" );
var ref2 = new ActionReference();
var id23 = charIDToTypeID( "Lyr " );
var id24 = charIDToTypeID( "Ordn" );
var id25 = charIDToTypeID( "Trgt" );
ref2.putEnumerated( id23, id24, id25 );
desc4.putReference( id22, ref2 );
var id26 = charIDToTypeID( "T " );
var desc5 = new ActionDescriptor();
var id27 = charIDToTypeID( "Clr " );
var id28 = charIDToTypeID( "Clr " );
var id29 = charIDToTypeID( colorNameString ); // レイヤーカラー
desc5.putEnumerated( id27, id28, id29 );
var id30 = charIDToTypeID( "Lyr " );
desc4.putObject( id26, id30, desc5 );
executeAction( id21, desc4, DialogModes.NO );
}

テキストレイヤーではなく他の種類のものにしたい場合には

if(layObj[i].kind == LayerKind.TEXT)

のLayerKind.TEXTを変更します。これは以下のものが指定できます。

LayerKind.BRIGHTNESSCONTRAST
LayerKind.CHANNELMIXER
LayerKind.COLORBALANCE
LayerKind.CURVES
LayerKind.GRADIENTFILL
LayerKind.GRADIENTMAP
LayerKind.HUESATURATION
LayerKind.INVERSION
LayerKind.LEVELS
LayerKind.NORMAL
LayerKind.PATTERNFILL
LayerKind.POSTERIZE
LayerKind.SELECTIVECOLOR
LayerKind.SMARTOBJECT
LayerKind.SOLIDFILL
LayerKind.TEXT
LayerKind.THRESHOLD


【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>

しばらく前に東京に行って「ネットカフェ難民」を体験してきました。受付のまわりにいた客は、ほとんどが泊まり客の様子。実際泊まってみると安い。ただ、テレビや雑誌で言われているほど狭くないし、エアコン入っているし、パソコンはあるし、飲み放題だし、悪くなさそう。居心地がよくて寝過ごしてしまいました・・・。TV局の人たちの生活環境と比較されても駄目じゃないのかなあ。年収や待遇が一般人と違うだろうし。以前、マクドナルドで一晩過ごしたことがあるけど、それに比べるとネットカフェは格段に居心地がよかったですね。
それから、エヴァンゲリオンの4コマ作成ページがあったので作ってみました。
つまらないので暇な方のみどうぞ。
< http://www.openspc2.org/manga/Evangelion/
>

photo
JavaScriptテクニックブック―すぐに使える
古籏 一浩
シーアンドアール研究所 2007-04

標準DOMスクリプティング JavaScript+DOMによるWebアプリデザインの基礎 まるごとJavaScript & Ajax ! Vol.1 詳解JavaScript&Dynamic HTML辞典 第3―Ajax対応 WEB+DB PRESS 総集編 [Vol.1~36] Fireworks CS3 [スーパーリファレンス] for Windows&Macintosh



photo
Ajaxライブラリリファレンス
古籏 一浩
ビー・エヌ・エヌ新社 2007-01
おすすめ平均 star
starまずはAjaxを使ってみたい

まるごとJavaScript & Ajax ! Vol.1 標準DOMスクリプティング JavaScript+DOMによるWebアプリデザインの基礎 Ajaxハッカーズ・プログラミング―基礎からprototype.js、Yahoo!UIライブラリ、HTML_AJAXの活用までWebアプリケーション制作のプログラミング・テクニック Ajaxテクニックブック DHTML & AJAX アイデア見本帖 ワンランク上のWebインターフェイスを実現する

by G-Tools , 2007/08/20