Photoshopの最初のプログラミングエクスペリエンス

いいね ここで約束したように -私はプログラムAdobe Photoshopのスクリプトを作成した経験について書きます。 この経験は、行動に対する100%正しいガイドであると主張していません-私はそれをやっただけで、すべてが機能します。



示唆的なプログラミングはありませんが、10分ではなく1日に作成されたため、多少のバンプがあります:)



まず、リンク。



http://www.adobe.com/devnet/photoshop/scripting/-彼の発案に関するマニュアル、マニュアル

http://blogs.adobe.com/crawlspace/2006/04/cs_ui_builder_2.html-スクリプトのUIビルダー(非常に、非常に未完成ですが、ペンよりも優れています)

http://bigmag.net/copyright/-私のスクリプト



さて、コードエディターでcopyrightPlacerRU.jsxを開いて、ストーリーをたどることができます。

各行を並べ替える価値はないと思います(私自身はちょっとしたことをしましたが、それについては以下で詳しく説明します)



私が最初に出会ったのは、インターフェースの構築でした。 edobiサイトからガイドを解読するのにわかりやすいものは何も見つかりませんでした。さらに検索を開始しました。素晴らしいプログラムCSUIB_2があります。 行を作成します。これにより、パラメーターに渡すWindowクラスのインスタンスが作成されます。



win = new Window (ui);







スクリプトはexeファイルを実行できないラップトップで書かれていたため、ライオンはインターフェースを構築するのにほんの少しの時間を費やし、コンピューター間で実行する必要がありましたが、CSUIBは大まかに言って非常に安定していません:)これは歌詞です、先に進みましょう。



あなたはすでにコードの恐ろしい構造に注意を払っていると思う-それに注意を払うのをやめる:)

インターフェイスが構築された後、別の停止が発生しました-何らかの理由で、ボタンハンドラが呼び出されませんでした。 どうやら、時間と疲労のために、ウィンドウが表示されるよりも後にイベントハンドラを配置すると、ウィンドウが閉じるまで呼び出されないことがすぐにはわかりませんでした。



ちなみに、フォーム上で「送信」ボタンが選択されている原理はわかりません。明らかにテキスト(「OK」、「キャンセル」)です。 私はそれを理解する時間がありませんでした-あなたが私に解決策を教えてくれれば、私は感謝します。



時間の別のライオンの部分が費やされました...フォームのチェックは空白です。 [OK]ボタンをクリックした直後、ウィンドウは表示されなくなり、そのインスタンスを再定義する必要がありました。 しかし、これにより、ユーザーがまだ入力できた値は消去されました。 TextEditの値を一時変数にすばやく保存すると、DropDownListの値を保存する方法の誤解に出会いました。 繰り返しますが、エドビのガイドには沈黙があり、解決策は私が彼を見るたびに私を泣かせます。



for (var i=0,len=stringList.length-1;i<len;i++)

{

if (String(win.pnl.alignDDL.items[i])==tmpDDL)

{

win.pnl.alignDDL.selection=win.pnl.alignDDL.items[i];

}

}








繰り返しますが、ウィンドウの再定義はすべてのイベントハンドラーを破棄し(これは非常に自然です)、便宜上、関数に定義を含めました。



実際、今朝、私はどのように、そして何を美しく正確に行うべきかを見ています。時間を見つけてすべてをやり直したいと思っています。



コメントでは、コードの提案ではなく、質問と独自のコーンを聞きたいです:)

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



PS: juffのプラス、彼のコードに基づいて、私のものが作られました(:



All Articles