クリエイター手抜きプロジェクト[424]Photoshop CS3〜CC 2014編 レイヤーのラベルカラーを設定する
── 古籏一浩 ──

投稿:  著者:



今回はPhotoshopのレイヤーのラベルカラーを設定するスクリプトです。以下のスクリプトは、第一階層にあるテキストレイヤーのラベルを赤色にします。

呼び出す時にsetLayerColor("赤色");として色の名前を指定していますが、このスクリプトで使用している関数setLayerColorでは、以下の色名を指定することができます。例えば黄色なら「イエロー」「黄色」「黄」のいずれかを指定すればレイヤーのラベルの色を設定できます。

-------
なし     無色
レッド    赤色 赤
オレンジ   橙色 橙
イエロー   黄色 黄
グリーン   緑色 緑
ブルー    青色 青
バイオレット 紫色 紫
グレー    灰色 灰
-------




// 第一階層のテキストレイヤーを赤色にする
var doc = app.activeDocument;
for(var i=0; i<doc.artLayers.length; i++){
if (doc.artLayers[i].kind == LayerKind.TEXT){
doc.activeLayer = doc.artLayers[i];
setLayerColor("赤色");
}
}
// ラベルカラーを設定する
function setLayerColor(colorName){
var list = [
{ name : "なし", value: "None" },
{ name : "レッド", value: "Rd " },
{ name : "オレンジ", value: "Orng" },
{ name : "イエロー", value: "Ylw " },
{ name : "グリーン", value: "Grn " },
{ name : "ブルー", value: "Bl " },
{ name : "バイオレット", value: "Vlt " },
{ name : "グレー", value: "Gry " },
{ name : "無色", value: "None" },
{ name : "赤", value: "Rd " },
{ name : "橙", value: "Orng" },
{ name : "黄", value: "Ylw " },
{ name : "緑", value: "Grn " },
{ name : "青", value: "Bl " },
{ name : "紫", value: "Vlt " },
{ name : "灰", value: "Gry " },
{ name : "赤色", value: "Rd " },
{ name : "橙色", value: "Orng" },
{ name : "黄色", value: "Ylw " },
{ name : "緑色", value: "Grn " },
{ name : "青色", value: "Bl " },
{ name : "紫色", value: "Vlt " },
{ name : "灰色", value: "Gry " }
];
var cName = "None"; // 無色に設定
for(var i=0; i<list.length; i++){
if (list[i].name == colorName){
cName = list[i].value;
break;
}
}
var idsetd = charIDToTypeID( "setd" );
var desc20 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref13 = new ActionReference();
var idLyr = charIDToTypeID( "Lyr " );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref13.putEnumerated( idLyr, idOrdn, idTrgt );
desc20.putReference( idnull, ref13 );
var idT = charIDToTypeID( "T " );
var desc21 = new ActionDescriptor();
var idClr = charIDToTypeID( "Clr " );
var idClr = charIDToTypeID( "Clr " );
var idRd = charIDToTypeID( cName ); // 色を設定
desc21.putEnumerated( idClr, idClr, idRd );
var idLyr = charIDToTypeID( "Lyr " );
desc20.putObject( idT, idLyr, desc21 );
executeAction( idsetd, desc20, DialogModes.NO );
}

ラベルカラーを設定することができれば、いろいろと便利なこともあります。なお、このスクリプトは存在しないレイヤー名や、何もレイヤーが選択されていないとエラーになるので注意してください。


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

4月24日、Photoshop自動化基本編が発売されます。Kindle版、紙版(オンデマンド印刷)同時に発売となってます。

今回掲載したようなネタもあります。基本的な命令の解説サンプルとサンプルコードで構成されています。まあ、逆引きリファレンスみたいな感じです。基本編なので複雑な処理や実例は載ってません。売れれば入門編とか応用編・実用編が出たりするかもしれませんが......。

・Photoshop自動化基本編
< http://www.amazon.co.jp/dp/B00W952JQW/
>

イングレス、ようやくLevel 9になりました。田舎でもポータル増えたにせよ、圧倒的にポータル少ないのでレベルアップには時間かかります。

・Excel 2013使い方辞典
< http://www.openspc2.org/reibun/Excel2013/
>

・Adobe JavaScriptリファレンス
< http://www.amazon.co.jp/dp/B00FZEK6J6/
>

・Illustrator自動化基本編
< http://www.amazon.co.jp/dp/B00R5MZ1PA
>

・ExtendScript Toolkit(ESTK)基本編
< http://www.amazon.co.jp/dp/B00JUBQKKY/
>

・データビジュアライゼーションのためのD3.js徹底入門
< http://www.amazon.co.jp/dp/4797368861
>

・4K/ハイビジョン映像素材集
< http://www.openspc2.org/HDTV/
>

・JavaScript逆引きハンドブック
< http://www.amazon.co.jp/dp/4863541082
>

・クリエイター手抜きプロジェクト
< http://www.openspc2.org/projectX/
>

・Adobe Illustrator CS3 + JavaScript 自動化サンプル集
< https://www.ddc.co.jp/estore/cgi/item/start.cgi?m=DetailViewer&record_id=243
>
吉田印刷所の「印刷の泉」でも購入できるようになりました。