2016-12-31 15 views
2

をトリガーする方法の状況: マイGIMP Pythonのプラグインは、ユーザに二つの選択肢[「.JPG」、「.PNG」]とドロップダウンボックスを示しています。GIMPのPythonのプラグ:別のユーザ入力

質問: 最初の入力に基づいて、条件付きコンテンツを有する第2の入力画面を表示する方法は?

  • .JPG - > "品質" 範囲スライダ[0 - 100]
  • の.png - > "圧縮" 範囲スライダ[0 - 9]

別の言葉で: プラグインのメイン機能内からユーザー入力ウィンドウ付きの(登録済みの)プラグインをトリガーする方法はありますか?

答えて

2

PyGTK(またはおそらくtkinter)で完全なGUIを構築するか、別の方法を見つけてください。あなたが自動生成されたダイアログに固執する場合、通常このために、あなたは間の選択があります。

  • 両方のパラメータを要求し、画像フォーマットに依存し、どちらか一方を無視し、やや不器用なダイアログを、
  • 2 2つの異なるダイアログ(PNG用とJPG用)のメニューエントリ。

一方、PNGで圧縮レベル9を使用しています(他のレベルの唯一の利点はCPU時間ですが、現代のマシンではこれが問題です)。ダイアログでJPEGそれはそれほど不器用ではありません。

しかし、JPEGの品質はすべてそこにあるわけではなく、実際には多くのオプションがあります(彩度サブサンプリングは少なくとも品質と同じくらい重要です)。そしてすべてのニーズを満たすためには、かなり複雑なダイアログ。だから、どちらかの可能性:

  • ちょうど
  • gimp_file_save())現在のユーザーのデフォルト設定で保存し、いくつかの.iniファイル(彼らはあなたのスクリプトの他のパラメータよりも変更する可能性が低い)
  • からこれらの設定を取得します。イメージを保存せずにユーザーに保存/エクスポートを許可する(バッチ処理スクリプトでない場合)
+0

優れた答え - 私の場合はすべてのレイヤーを保存するバッチ処理スクリプトです。興味があれば、src [github](https://github.com/gitbreaker222/export-all-layers-rl/blob/master/export-all-layers-rl.py) – Breaker222

+0

...と_batchを参照してください処理_私は_stack processing_を意味します。 – Breaker222

+0

自動的に構築された最初の画面の後に、より簡単なGTK +ダイアログを使用することもできます。この回答者のコードをテンプレートとして使用できます。 http://stackoverflow.com/questions/8290740/simple-versatile-and使用可能な入力ダイアログ(使用可能な場合もあります) – jsbueno

関連する問題