テキストレイヤーの文字を変更するPhotoshopスクリプト
テキストレイヤーの文字を変更するPhotoshopスクリプト
選択されているテキストレイヤー上で使用すると
ダイアログが出現しテキストを打ち替えて、「変更」ボタンをクリックするとテキストが差し替わる。
以下、スクリプトのソースコード
var activeText = app.activeDocument.activeLayer.textItem.contents;
var group = new Window("dialog","getText",{ width: 320, height: 150, x: 500, y: 300 });
group.okBtn = group.add("button", { width: 80, height: 25, x: 165, y: 105 } , "変更", { name:"ok"});
group.cancelBtn = group.add("button", { width: 80, height: 25, x: 75, y: 105 } , "キャンセル", {name: "cancel"});
group.eText = group.add("edittext", { width: 200, height: 30, x: 60, y: 55 }, activeText);
group.eText.active = true;
//キャンセルボタンクリック時の動作
group.cancelBtn.onClick = function () {
alert("キャンセルされました。");
group.close();
}
//OKボタンクリック時の動作
group.okBtn.onClick = function () {
app.activeDocument.activeLayer.textItem.contents = group.eText.text;
group.close();
}
group.show();
スクリプトの解説
var activeText = app.activeDocument.activeLayer.textItem.contents;
app.activeDocument.activeLayer.textItem.contents;
選択されているテキストレイヤーのテキスト内容を取得
そして変数aciveTextに格納
new Window("dialog","getText",{ width: 320, height: 150, x: 500, y: 300 });
new.window()
でダイアログを作成。
1つ目の引数はダイアログを示すdialog
2つ目の引数はダイアログのタイトルになります。
3つ目はダイアログのサイズと配置位置です。
位置はモニタ画面からの絶対座標になります。
例だと、モニタ画面左から500px、上から300pxの位置から
横幅320px縦幅150pxのダイアログが出てきます。
group.okBtn = group.add("button", { width: 80, height: 25, x: 165, y: 105 } , "変更", { name:"ok"});
group.cancelBtn = group.add("button", { width: 80, height: 25, x: 75, y: 105 } , "キャンセル", {name: "cancel"});
add()
でダイアログ内にControlerを追加。
1つ目の引数にボタンを示すbutton
2つ目にサイズと配置位置
この配置位置はダイアログを基準とした位置になります。
3つ目はボタン内に表示する文字になります。
4つ目、ボタンの挙動に関してnameプロパティで設定します。
反映させるには{name: "ok"}
、反映させない場合は{name: "cancel"}
と記述します。
group.eText = group.add("edittext", { width: 200, height: 30, x: 60, y: 55 }, activeText);
テキストの入力エリアを作成。
add()
でダイアログ内にControlerを追加。
1つ目の引数にテキスト入力エリアを示すedittext
2つ目はサイズと配置位置
この配置位置はダイアログを基準とした位置になります。
3つ目のactiveText
はダイアログ内に取得したテキストを表示させます。
group.eText.active = true;
先ほど作成したテキスト入力エリアgroup.eText
を .active = true
で編集できる状態になります。
group.cancelBtn.onClick = function () {
alert("キャンセルされました。");
group.close();
}
キャンセルボタンを押した時の挙動を記述。
alert('');
アラート画面を出します。
.close();
ウィンドウを閉じます。
group.okBtn.onClick = function () {
app.activeDocument.activeLayer.textItem.contents = group.eText.text;
group.close();
}
OKボタンを押した時の挙動を記述。
app.activeDocument.activeLayer.textItem.contents = group.eText.text;
.close();
ウィンドウを閉じます。
group.show();
.show();
でダイアログを画面上に表示します。
app.activeDocument.activeLayer.textItem.contents = group.eText.text;
.activeDocument.activeLayer.textItem.contents
今開いているドキュメント上のアクティブなレイヤーにgroup.eText.text
でダイアログのテキストを反映する。
最後に
テキストレイヤーからテキストをコピーペーストをする時、ダブルクリックするのが煩わしく
改善しようと思った事がきっかけで作成したスクリプトでしたが......なんとPhotoshop2018から標準でテキスト編集ができるショートカットがありました......
テキストレイヤー上でctrl
+Enter
でテキスト入力エリアがアクティブになります!感動!!
参考にさせて頂いたサイト
初心者がPhotoshopスクリプト(.jsx)を作ってみて得られた知識・ノウハウまとめ
Adobe Photoshop CC自動化作戦
Author And Source
この問題について(テキストレイヤーの文字を変更するPhotoshopスクリプト), 我々は、より多くの情報をここで見つけました https://qiita.com/san708/items/ce692990523f4f888005著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .