2018年4月28日土曜日

GIMP Script-Py (2) 新規画像作成時

GIMP Script-Py こと Python-Fu での Dialog で、
検索で見付けたコードを参考に書いていると、
どうしても、 Input image や Input drawable の項目が表示されて ... 。
でも、 新規画像作成のスクリプトに、これらは ... 不要!ですから ねぇ。


今迄、GIMP 用に (Python で) スクリプトを書くとなると、
大抵は、既に開かれている画像が対象でした。  主に、Script-Fu で書くのが多かったですが。.

或いは、開いている複数の画像から、対象画像を選択するか ... 。

新規に画像を生成するのは ... はじめて なのです。
     既存画像から新規作成はありましたが、 全くの新規を扱うのは はじめて。

其処で困った事が、
画像やレイヤー等の情報は不要な処理なのに、
最初に開かれる Dialog で、Input image や Input drawable の項目が表示されてしまうのです。

あらぁ、 困ったわねぇ~。
別に、 無視すれば良い事なのですが、
不要な表示に惑わされるケースだって、きっと、ある筈です。
              そう、将来の自分は、過去に書いた記憶なんて忘れて ... 。

そう、
幾つかの条件を満たさないと、
Input image や Input drawable の項目 は 自動的に 追加されて 表示されます。  Python-Fu 。

その 幾つかの条件 とは?。

  
  以下の記述は問題のある可能性が高くなりました。.
   GIMP 2.10.6 以降では <Toolbox> が廃止される予定です。.
                            従って、本投稿の方法は 無効化 されるでしょう。.


  register( の8番目の項目、
    "",    # image types on the script である事。 ( "" です。

  register( の9番目の項目、
    [ (PF_xxx, ...), (PF_zzz) ],   # params と、
  def plugin_main(arg1, ...) とで、 変数名や数が合っている 事。

  register(  の7番目の項目、
    "<Toolbox>/ ... ",   #menu path で <Image>/ で始まらない 事。 注1.


変数名や数が合っている と書きましたが、
対象を画像に限定する 一般的な書き方 では、 Image や Layer 等が自動で補完されますので、
ご注意を。
(つまり、普通のケースでは、双方の見た目の 数 は合わないケースが多いと思います。)

逆に、 新規画像作成の スクリプト の場合、
メニューが <Image>/ で始まって仕舞うと、 補完機能が働いて、 彼のふたつ と ご対面に ... 。

<Toolbox> は メニュー項目 を表す様で、
<Toolbox>/Script-Py/Test と書くと、メニューに Script-Py が新設され、そこに Test として登録されます。


いやぁ、  これって、かなり、初歩的な部類なのだと思いますが、
知らないって 怖ろしい! ですねぇ。



[2018/07/11] 注1. GIMP 2.10.6 以降では <Toolbox> が廃止される予定です。.
                            従って、本投稿の方法は 無効化 されるでしょう。.
[2018/07/12] 上記の件を本文中にも追記
[2018/07/18] 記事改訂を公開
                           GIMP Script-Py (2) 新規画像作成時 改定版 1  

0 件のコメント:

コメントを投稿