[Part I. GIMP基礎功]

[Part II. 一種效果的誕生]
[Part III. Script-Fu的秘密]

沒有新特色,就是最好的特色,論 Python-Fu 的使用

依賴介面,不要依賴實作
  • 「依賴介面,不要依賴實作」這是「程式設計」的用語,在此,我將它引申為「依賴 Python-Fu 的程式語言的介面,不要依賴可實際操作視窗介面外觀」。


  • 一點都不令人意外,在 Linux 下,用 2.6.11 版寫的 Python-Fu 程式,全都可以在 MS Windows 版的 GIMP Portable 2.8.0 正確執行。



  • 「依賴介面,不要依賴實作」這是「物件導向設計」重要的概念之一。
  • GIMP 軟體的開發,是漫長的工作,開發人員必須先規劃好基本的架構與介面,而後,再來撰寫程式碼。
  • 「物件導向設計」是一種設計的哲學,對 C 語言而言,介面就是函式的原型(Prototype)。GIMP 的視窗介面操作,可透過 Script-fu 與 Python-fu 來控制,GIMP 原始碼有一部分 C 的函式名稱與 Script-fu(或 Python-fu)的函式是可直接對應的。
  • 因此,雖然 GIMP 不斷地改版, Script-fu(或 Python-fu)卻非常穩定,其版本間的相容性非常的高。


  • GIMP 官網 有一則新聞「We are looking for Windows developers」,好消息是「GIMP 視窗操作介面」將會持續改進,壞消息是萬一改進太多,將來你要再花時間,熟悉新的外觀。
  • 據說 GIMP 3.0 會搭配 GTK+ 3.0 的函式庫,也許將來 GIMP 3.0 推出超炫超新的外觀。
  • 這裡有一則 GTK+ 3.0 的新聞

  • 如果你要長期使用 GIMP ,請你投資部份的時間與精力在 Script-fu 與 Python-fu 之上。
  • 當你把「視窗介面的操作過程」撰寫成 Python-fu ,它就像是備忘錄一般,只需幾分鐘,甚至只需數十秒,就可完成舊時的作品。
  • 火燄效果結冰效果 為例,若透過超炫超新的「視窗介面的操作」,我預計,就算速度再快,也要一兩個小時,才能完成這樣的作品。
  • 超炫超新的外觀,多數時候,對於加快工作是沒有幫助。
  • Script-fu 與 Python-fu 既不炫也不新,卻可以是你的好幫手!


  • Python Console 所屬的選單位置


  • GIMP Python Console