2017-03-24 10 views
0

私はここで新しく、スクリプトでは初心者です。私は、ドキュメントを閉じる前にフォアグラウンドとバックグラウンドの色を確認するようにユーザーに依頼するコンポーネントを使用して、画像処理チームのスクリプトを作成しています。 私が過去に見たことがない問題は、スクリプトが最後に書き込まれたアラートですべての機能を処理していますが、アラートボックスで確認するためにユーザーが表示するはずの最終イメージは、コードを一時停止します。完全なコードのサンプルは以下の通りです。どんな助けや提案も大歓迎です。Photoshop Javascriptイメージが警告ボックスが表示される前に画面にレンダリングされない

#target photoshop 
app.bringToFront(); 
var docRef = app.activeDocument; 
var selRefMain = docRef.selection; 
checkColors(); 

function checkColors() 
    docRef.resizeImage(800, 800, 72, ResampleMethod.BICUBIC); 
    var selBoundsFg = Array(Array(0, 0), Array(800, 800), Array(0, 800)); //creates bounds for Foreground color selection 
    var selBoundsBg = Array(Array(0, 0), Array(800, 800), Array(800, 0));//creates bounds for background color selection 
    selRefMain.select (selBoundsFg); 
    selRefMain.fill(app.foregroundColor); 
    selRefMain.select (selBoundsBg); 
    selRefMain.fill(app.backgroundColor); 
    selRefMain.deselect(); 
}; 
alert ("Please check Foredround and Background colors"); 
+0

私は、イメージを埋める時間が、アラートが最初に表示されるようにコードを処理する時間よりも描画に時間がかかると言いたいと思います。私はredraw()関数があるとは思わないが、代わりに人工的な遅延を入れることができます。 –

+0

私は$ .sleep(300)を使ってみました。警告ボックスを遅らせる機能がありますが、警告ボックスが認識されるまで画像は未表示(すべて黒)のままです。 – AOK

答えて

0

一つの方法は、再描画を待つことです。

var desc = new ActionDescriptor(); 
desc.putEnumerated(charIDToTypeID("Stte"), charIDToTypeID("Stte"), charIDToTypeID("RdCm")); 
executeAction(charIDToTypeID("Wait"), desc, DialogModes.NO); 

これはstdlib.jsのライン8273から引き出されます。

関連する問題