- Python-Fu 的開發者 James Henstridge 就是以 clothify 為例,可以在GIMP Python Documentation 看到「纖維紋路」的程式碼。
- James Henstridge 的程式碼,用了很多 Python 物件導向的語法
- layer_two = layer_one.copy()
- layer_two.mode = MULTIPLY_MODE
- layer_two.name = "Y Dots"
- img.add_layer(layer_two, 0)
- ......
- 嚴格來說, Python-Fu 到處都是物件導向的語法。
- pdb.gimp_display_new(img) 這一敘述之中
- pdb. 代表引用 pdb 模組內的函數
- 這也算是物件導向的語法
- 因此, 我的意思是
- 使用 img = pdb.gimp_image_new(width, height, RGB)
- 不要使用 img = gimp.Image(width, height, RGB)
- 使用 pdb.gimp_display_new(img)
- 不要使用 gimp.Display(img)
- 使用 pdb.gimp_image_add_layer(img, drw, 0)
- 不要使用 img.add_layer(drw, 0)
- 由於,「既有的」函式呼叫方式, Python-Fu 與 Script-Fu 之間的對應關係,比較清楚直覺。
- 物件導向的語法,重新包裝函式與變數值的設定方式,不容易立即拆解出 Python-Fu 與 Script-Fu 之間的互換方式。
- 我並不建議使用 Python-Fu 物件導向的語法。畢竟,「不使用 Python-Fu 物件導向的語法」,可以讓你較容易學習 Script-Fu ,而 Script-Fu 與 GIMP 是密不可分的 ,至少目前為止還是如此。
- 只是,如果你要長久地撰寫 Python-Fu 程式碼,是可以考慮使用物件導向的語法。最好是摸熟了 GIMP 的基本函式用法,再使用物件導向的語法。
- 25.7 紋理圖,修改成可「單行」執行的 Python-Fu,我照著自己的方法,修改 clothify.scm ,將它修改成在 Console 內可一行一行執行的 Python 程式碼。