終了

再描画をオフにするscriptはありますか?

Community Beginner ,
Sep 26, 2022 Sep 26, 2022

リンクをクリップボードにコピー

コピー完了

InDesignですと、以下のscriptで再描画のオフができますね。

app.scriptPreferences.enableRedraw

 

Photoshopでも同じように、

再描画をオフにするscriptがあればご教示ください。

 

よろしくお願いいたします。

キーワード
Windows

表示

555

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines

correct answers 4 件の正解

Community Expert , Sep 27, 2022 Sep 27, 2022

USフォーラムに類似スレッドがありました

CS6の頃はアプリケーションを隠してバックグラウンドで処理できてたみたいですね。

Windowsなら窓キー押してどうのこうの、と書かれてるようですが

https://community.adobe.com/t5/photoshop-ecosystem-discussions/how-to-quot-hide-quot-photoshop-whilst-running-an-action-or-script/m-p/9770645

 

目的の先にあるのは高速化ですか?

投票

翻訳

翻訳
Community Expert , Sep 27, 2022 Sep 27, 2022

前のやつはESTKなどからでも動きます。

Photoshopにインストール&再起動して検証可ならこちらを。

#target photoshop
#targetengine "session"

var file = File("~/desktop/test.psd");
var bt = new BridgeTalk();
bt.target = "indesign";
bt.body = "app.activate();";
bt.onResult = function(res){
    for(var i = 0; i < 30; i++){
        var doc = app.open(file);
        doc.close();
        }
    alert("はやーい");
   }
bt.send();

 

投票

翻訳

翻訳
Community Expert , Sep 27, 2022 Sep 27, 2022

>ということでしょうか?

 

ですです。

onResultの戻りを待ち受けるにはtargetengineを設定しておく必要があり、それはESTK上からの実行はダイレクトにできないのでPhotoshopのメニューから実行する必要があり…

……あ、インストールしなくても、任意の場所にjsxを置いて

ファイル > スクリプト > 参照..  でいけますね。

InDesignが前面に来たままPhotoshopがぱこぱこ動けば成功です。

それで体感速度を評価してみてください。

 

実装手順としては、

参考にしているスクリプトのクロージャ関数をふつうの無名関数にしてonResult = に続けてつっこんでおくだけです。

(function (){なかみ})(); → function(){なかみ}

 

見た目にすっきりさせたいなら、関数名をつけてonResult = 関数名 としても動きます。で関数はコード冒頭か一番下に記述。

こんなかんじ

 

 

bt onResult = myFunction; //()は不要
bt.send();

function myFunction(){
  //なか
...

投票

翻訳

翻訳
Community Expert , Sep 28, 2022 Sep 28, 2022

BridgeTalkで InDesignを前面に出したままはバックグラウンドでPhotoshopを働かせる実験をしたまでですが、InDesignの起動時間なども加味すると結局とんとんなところですね。

単純に、スクリプトを実行した手でついでにタスクバーから別のアプリをさわる、でも同様の効果は得られると思います。Windowsだとエクスプローラーとか。

投票

翻訳

翻訳
Community Beginner ,
Sep 27, 2022 Sep 27, 2022

リンクをクリップボードにコピー

コピー完了

すみません、説明が下手くそでした。

 

《こうしたい》

フォルダ内の複数のPDFを、サイズと解像度を指定し、PSD形式で別フォルダに保存したい。

その時、Photoshopの画面で、『PDFを開いて、処理して閉じる』といった描写はオフにしたい。

 

イメージとしては、《ファイル - スクリプト - イメージプロセッサー》です。

このイメージプロセッサーで、『設定を適用する前に画像を開く』のチェックをオフにした状態で、

解像度も変更できるスクリプトを追加した形です。

 

よろしくお願いいたします。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Sep 27, 2022 Sep 27, 2022

リンクをクリップボードにコピー

コピー完了

USフォーラムに類似スレッドがありました

CS6の頃はアプリケーションを隠してバックグラウンドで処理できてたみたいですね。

Windowsなら窓キー押してどうのこうの、と書かれてるようですが

https://community.adobe.com/t5/photoshop-ecosystem-discussions/how-to-quot-hide-quot-photoshop-whils...

 

目的の先にあるのは高速化ですか?

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Sep 27, 2022 Sep 27, 2022

リンクをクリップボードにコピー

コピー完了

2021(22.5.9)でイメージプロセッサ少し試してみたんですが、

スクリーンショット 2022-09-28 11.43.13.png

ここですよね?

オフにしてもいちいち画像を開かれてしまいました。

どういうことなんだー。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Sep 27, 2022 Sep 27, 2022

リンクをクリップボードにコピー

コピー完了

本当ですね!

 

一昨日、

初めてイメージプロセッサーを起動したとき、

このチェックはオフだったので画像を開くことなく処理されました。

 

その後、

チェックをオンにしたときの動作は

どんなもんだろうかと確認してみました。

 

それから、チェックをオフにしてみたら、

『画像が開いて閉じる』を繰り返すようになってしまいました。

 

バグですかね…?

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Sep 27, 2022 Sep 27, 2022

リンクをクリップボードにコピー

コピー完了

使用環境はWindows10、Photoshop2019、2022です。

 

はい、目的は高速化です。

 

Photoshopの画面で、

『PDFを開いて、処理して閉じる』といった描写をオフにできれば、

少しでも早く処理が終わるかなと思っています。

 

バックグラウンドで処理することは考えていませんでした。

この方法でも構いませんが、可能なのでしょうか?

 

よろしくお願いいたします。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Sep 27, 2022 Sep 27, 2022

リンクをクリップボードにコピー

コピー完了

Macしかわからないのですが、MacではPhotoshopを「隠す」までしなくとも、他のアプリケーションがアクティブなときにある程度の高速化が見込めるのは経験あります。

BridgeTalkか system() 関数で他のアプリをアクティブにしたら少しは違う可能性ありますね。

 

試しにIllustratorやInDesignからコレ動かしてもらえれば少しイメージつかめるかも。

var bt = new BridgeTalk();
bt.target = "photoshop";
bt.body = """
var file = File("~/desktop/test.psd");
    for(var i = 0; i < 30; i++){
        var doc = app.open(file);
        doc.close();
        }""";
bt.send();

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Sep 27, 2022 Sep 27, 2022

リンクをクリップボードにコピー

コピー完了

前のやつはESTKなどからでも動きます。

Photoshopにインストール&再起動して検証可ならこちらを。

#target photoshop
#targetengine "session"

var file = File("~/desktop/test.psd");
var bt = new BridgeTalk();
bt.target = "indesign";
bt.body = "app.activate();";
bt.onResult = function(res){
    for(var i = 0; i < 30; i++){
        var doc = app.open(file);
        doc.close();
        }
    alert("はやーい");
   }
bt.send();

 

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Sep 27, 2022 Sep 27, 2022

リンクをクリップボードにコピー

コピー完了

スクリプトの記述、ありがとうございます。

『バックグラウンドで処理する』のイメージはわかります。

 

以下のURLを参考にESTKでスクリプトを書いています。

 

PhotoshopとJavaScriptでフォルダ内の画像のサイズを一括変更する - どうでもいいプログラム研究所

https://tdyu.hatenablog.jp/entry/2019/11/09/000738 

 

すみませんが、ajabon grinsmith様の仰っている

Photoshopにインストール&再起動』とはどういうことでしょうか?

 

C:\Program Files\Adobe\Adobe Photoshop XXXX\Presets\Scripts

 

こちらにスクリプトを入れて、Photoshopを再起動ということでしょうか?

でしたら、あいにく管理者権限がないので、現時点で検証ができません。

 

よろしくお願いいたします。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Sep 27, 2022 Sep 27, 2022

リンクをクリップボードにコピー

コピー完了

>ということでしょうか?

 

ですです。

onResultの戻りを待ち受けるにはtargetengineを設定しておく必要があり、それはESTK上からの実行はダイレクトにできないのでPhotoshopのメニューから実行する必要があり…

……あ、インストールしなくても、任意の場所にjsxを置いて

ファイル > スクリプト > 参照..  でいけますね。

InDesignが前面に来たままPhotoshopがぱこぱこ動けば成功です。

それで体感速度を評価してみてください。

 

実装手順としては、

参考にしているスクリプトのクロージャ関数をふつうの無名関数にしてonResult = に続けてつっこんでおくだけです。

(function (){なかみ})(); → function(){なかみ}

 

見た目にすっきりさせたいなら、関数名をつけてonResult = 関数名 としても動きます。で関数はコード冒頭か一番下に記述。

こんなかんじ

 

 

bt onResult = myFunction; //()は不要
bt.send();

function myFunction(){
  //なかみ
}

 

 

 

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Sep 28, 2022 Sep 28, 2022

リンクをクリップボードにコピー

コピー完了

おはようございます。

 

スクリプトの記述、ありがとうございます。

あらかじめ、InDesignを起動させた状態で、

130個のダミーPDFで検証してみました。

(少ないですかね…?)

 

《改良前》

1回目 1分37秒52

2回目 1分30秒98

3回目 1分30秒79

 

《改良後》

1回目 1分10秒60

2回目 1分11秒68

3回目 1分09秒57

 

すごいですね!

『画像を開いて閉じる』処理が早くなりました!

 

毎回、InDesignを起動しておくことが前提ではありますが、

うまく活用していきたいと思います。

 

いろいろとありがとうございました。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Sep 28, 2022 Sep 28, 2022

リンクをクリップボードにコピー

コピー完了

最新

BridgeTalkで InDesignを前面に出したままはバックグラウンドでPhotoshopを働かせる実験をしたまでですが、InDesignの起動時間なども加味すると結局とんとんなところですね。

単純に、スクリプトを実行した手でついでにタスクバーから別のアプリをさわる、でも同様の効果は得られると思います。Windowsだとエクスプローラーとか。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines