Skip to main content
Participating Frequently
Feb 17, 2023 6:21 AM UTC
Answered

カンバスサイズの基準位置を別の場所に固定したいです。

Windows11でPhotoshop2023を使用し、大量のpsdデータをリサイズしております。

毎回カンバスサイズの基準位置を中央ではなく、1つ上の中央上を基準にしてリサイズをする為、新規psdファイルを開いた時、カンバスサイズの基準位置を「中央上」になるように固定させたいです。

psdファイルの横幅は同じですが、縦幅はその都度変わります。

良い方法はありますでしょうか?

 

 

This topic is closed to new replies. Start a new post to keep the conversation going.
ajabon grinsmith
ajabon grinsmithCorrect answer
Community Expert
Feb 21, 2023 3:03 AM UTC

ajabon grinsmithさん、スクリプトを制作して頂きありがとうございます。

スクリプトは明るくなく、初めて使用するので戸惑いもありましたが、補足を頂いた分を入れ替えて実行する事ができました!

ただ、3回聞いてくるのは手間が増えてしまうので(面倒くさがりですみません)

相対ではなくてOKで、幅も固定、高さだけ入力して1回確認するだけにしたい場合はどう書き換えたらよろしいでしょうか?


>3回聞いてくるのは手間が増えてしまう

ScriptUIのダイアログを作(らせ)るか、

3種のパラメータをカンマ区切りなどで一度に入力して処理側でそれを切って使うようにするかですねー。

 

>相対ではなくてOK

conf = 〜〜 以下3行をコメントアウト(/* 〜〜 */ で括る)して、

すぐ下の行に

bool = false;

と入れてください(書き損じて投稿編集しましたごめんなさい)。

 

>幅も固定

ここは現在のドキュメント幅を持たせる必要があるので、

1個目のwhileブロックをまるごとコメントアウト(/* 〜〜 */ で括る)して、

2個目のwhileブロックの直前に

w = app.activeDocument.width.value;

と追加してください。

 

ものぐさ対応ですが、仕組みがわかってきたら無駄な行を削除してしまっていいです。

16 replies

katayanagi51
Community Expert
Community Expert
Feb 17, 2023 7:37 AM UTC

「メニュー>イメージ>カンバスサイズ」のダイアログのお話だとしたら,「基準位置」を任意の場所に固定することはできないはずです。ほかのお話でしたら,もう少し具体的に説明されたほうがよいと思います。

(絵柄ごとに目視でトリミングしてから「高さ」を整数にする,5ミリ単位に変更する…みたいな,アクションを利用できないような手順で大量の画像を処理するから1手でも省略したいということかしら? と想像しつつ…)

 

Translate
Participating Frequently
Feb 19, 2023 7:11 AM UTC

コメントありがとうございます。

正にその通りで、「基準位置」を任意の場所に固定したいのです。

使用するpsdファイルはトリミングの際に高さが其々違うので、1手間省略できないかと考えている

所です。

Translate
Inspiring
Feb 20, 2023 8:19 AM UTC

仮に、画像を切り抜きたいだけならば、何かに配置してトリミングとかしたら楽な気がしますねぇ

Translate
Windows 11 Pro 25H2 イラレ2024,2025,2026 フォトショップ 2024,2025,2026
ajabon grinsmith
Community Expert
Community Expert
Feb 17, 2023 7:29 AM UTC

イメージ  >  カンバスサイズ

のダイアログを開いた瞬間もう基準点が中央上になっているようにしたい、ということですね。

 

(出先なので試してませんがメモを兼ねて)

いちどアクションを作成して、当該コマンドの実行マークの隣にあるダイアログマークをつけて再生するとコマンド実行時にカンバスサイズのダイアログが出ます。

そこにアクション記録時の内容が反映されていれば万々歳ですかね。

 

あとはスクリプトが書けるようでしたら、

resizeCanvas() (がだめならScriptingListenerで記録したコード)の実行前にapp.displayDialogs=DialogModes.ALL;

を仕込んでおくといい感じかと。

 

のちほど精査しますすみません

Translate
Participating Frequently
Feb 20, 2023 6:26 AM UTC

コメントありがとうございます。

アクションで出来ないかと思い記録をしてみましたが、やり方がダメだったのか、

基準位置の固定は出来ておりませんでした。

Translate
ajabon grinsmith
Community Expert
Community Expert
Feb 20, 2023 7:35 AM UTC

あー、スクリプトのほうも試してみましたが、

記録時の基準点は記録されたものの実行時のダイアログには反映されませんでした。

残念。ごめんなさい。

 

あと思いつく手はKeyboard Maestro(有料のやつ)の併用ぐらいです。

Translate