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/
>
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/
>