2019年2月5日火曜日

GIMP Script-Py (番外) GEGL をガイドして見よう

GIMP の新しい武器!。
GEGL が 強力! です。
でも、今迄と違う 初期値 や 利用方法に翻弄され、
その実力を理解出来ない方も多いのでは?。


現行 GIMP 2.10.8 の GEGL でも、その能力は素晴らしいと思います。
私達 日本人 からすれば、メニューに表記された英語に戸惑う訳ですが、
それを乗り越えれば、素晴らしい世界が待っています。

そして、現行の GIMP に与えられた その初期値 が、
嘗ての GIMP のものと違う点も 損 をしている気がします。
試しに使って見て、その値から齎される結果だけで判断すると、
残念な事になりますよ。

根本的な考え方は、プリセットの活用 になるのだと思います。
どう考えても、 おかしい 初期値のものもあるのですが、
色々、試して見て下さい。
応用が利きそうな値を探り出し、プリセットとして保存すれば、
あなたの GEGL ライフ? は より 有益な機能 に変身します。

そして、GEGL をより身近なものにする為には、
その操作に、事前 事後 の処理が必要な場合がある事を理解する事 です。

例えば、ですが、
GEGL に Drop Shadow と言う機能がありますが、
これは、対象レイヤーに直接変更を加えます。
ですから、コピ-して置く事が必要ですし、
レイヤー内に影が全て収まる様に、レイヤーを大き目に拡げて置く事も必要です。
試行錯誤の結果は、大きくしたレイヤーを切り取り、最小サイズに変えるのが望ましいでしょう。
この様に、事前事後の操作が出て来ます。
出来れば、レイヤー名も、作業の内容を反映して置きたい処です。


そこで、スクリプティング!。

  とは言え、 現行 GIMP 2.10.8 は GEGL をスクリプトに取り込める訳ではありません。
  また、 そうなったとしても、 試行錯誤を伴う作業ですから、値調整は不可欠です。
  そこで、事前作業のみ、自動化しようと思いました。
  主たる事前作業は、レイヤーコピーです。
  そして、手作業の目安になる メニューでの位置 と、必要事後作業を表示するのです。
  保存されたプリセットファイル群から、情報を得て、表示します。
  プリセットファイル群には値と概要が分かる命名をしていますから、
  打って付け!の ファイル名 と言う処でしょうか?。
  尚、グループは GEGL 対象から除外されている様なので、合わせています。(エラー扱い)


幾つかの前提条件があります。
それは、以下の点です。

   プリセットを保存するフォルダ(ディレクトリ)が決め打ちである事。
         C:\Users\UserA\Pictures\GIMP_Fv013\SettingExport
      もし、変更する場合には、ソースの更新が必須です。
      Windows 版の場合、 version 1809 以降であれば、 メモ帳 notepad.exe で更新が可能です。
      それ以前のものでは、別途、専用エディタの利用をお勧めします。
      或いは、上記の場所を新設して下さい。

      其処に、何がしかのファイルがある前提です。
      
   保存ファイル名は GEGL で始まる事。
      命名規則は以下の通りです。  以下の図も参照。.
      GEGL_<作業名 英語>_<初期値 セパレータ - >_<注記 任意>
      <作業名 英語> の例:DropShadow    半角スペースなし 各単語冒頭大文字
      詳細はコード参照。 次のブロックです。
               menuPath = ""
               if geglType == "GEGL_DropShadow":
      

   GEGL 操作自体 は、自動化されておらず、手動で行う必要がある事。

   メニューの場所 に関しては、現行 GIMP 2.10.8 日本語版 での表記で表示される事。
      自環境に合わせた変更が必要でしょう。
      日本語版 GIMP に関しては、次期、2.10.10 で日本語表記に変わる可能性がありますが、
      未対応です。
      前述の menuPath =  の値を変更して下さい。

   対象 GEGL 操作は、全体の一部 が対象である事。
      各自、必要に応じて、追加して下さい。  要、プログラミング知識。

   プリセットを名前を付けて登録する事は必須では無い事。
      GEGL 操作は手動ですから、
      表示されるメッセージの数値を頼りに、スライダー等を操作 値入力 する事も可能です。
      命名して登録してあれば、作業自体は捗る筈ですが。



さて、どんな事をしているか?、ですが ... 。

例えば、test テキストレイヤーにドロップシャドーを適応する場合、
以下のダイアログから選択し、実行すると、 メッセージボックスが表示されます。
指定するのは2項目。
作業内容と、レイヤー名の記述方法と、を選択します。
      3番目は、注意喚起の為に表示しているだけで、処理には関係しません。
実行すると、 レイヤーはコピーされ、名称は指定の方法で改名されています。



実行後現れるメッセージです。  エラーではありません。

レイヤー名の test が元のレイヤー名で、 / に続くものが 設定ファイル名 です。
この様な名前で保存してあります。
プリセット名は 数字から始まる後半 をその名称にしてあります。
でも、それに縛られはしませんので、 Maybe ? と書き添えています。

ドロップシャドーの場合、レイヤーを拡大していますので、
操作後に最小サイズに縮める必要があるので、
[After GEGL Tasks] に Crop (Resize) Layer と表示しています。
レイヤー名の設定値の変更以外必要でない場合は、この様な表示はされません。


後日、別 Blog にて、ファイルを公開予定です。   .py のみ。  設定ファイルは除外。
   GIMP Script-Py Shiro_GEGL_Guide_0.7.1  未公開 公開 *1.
       Link の無断転載を禁じます!。.


尚、GEGL プリセットに関しては、以下も参照下さい。

    GIMP GEGL 系 Filter の設定値の保存と活用



[2019/02/09] URL 公開 *1.

0 件のコメント:

コメントを投稿