[Part I. GIMP基礎功]

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



13.2 Python-Fu 新增影像物件、圖層物件

Python-Fu 訊息視窗
  • 承接前節 Script-fu 的練習示範,改用 Python-Fu 示範新增影像物件、新增圖層物件。
  • 執行[影像] / 濾鏡 / Python-Fu / Console,會出現 Python-Fu 訊息視窗,在提示符號 >>> 之後,可輸入欲執行的命令。

  • 上圖展示了 Python-Fu 訊息視窗,目前尚未輸入任何指令。
  • 除了用於 GIMP 影像處理的自動化, Python-Fu 訊息視窗,也可執行一些基本的 Python 功能,例如,加減乘除的計算。


新增影像物件
  • 新增 400 x 300 的影像
pdb.gimp_image_new(400, 300, RGB)

  • 新增 400 x 300 的影像,將影像物件指派給變數 img
img = pdb.gimp_image_new(400, 300, RGB)

  • 新增影像視窗,顯示 img 影像物件
pdb.gimp_display_new(img)

  • 載入 PNG 影像檔,並將物件指派給變數 img
img = pdb.file_png_load("/tmp/test.png", "")
pdb.gimp_display_new(img)

  • 載入 JPEG 影像檔,並將物件指派給變數 img
img =pdb.gimp_file_load("/tmp/test.jpg", "")
pdb.gimp_display_new(img)

  • 將影像物件 img 儲存在 JPEG 影像檔
drw = pdb. gimp_image_active_drawable(img)
pdb.gimp_file_save(img, drw, "/tmp/test.jpg", "")



將圖層物件加入影像物件,才能在圖層上作畫
  • 若不包含新增顯示視窗 pdb.gimp_display_new ,要在圖層上作畫,前置作業至少要三個步驟。
width = 256
height = 256

#Step 1. 新增影像物件
img = pdb.gimp_image_new(width, height, RGB)

#Step 2. 新增圖層物件
layer_one = pdb.gimp_layer_new(img, width, height, RGB_IMAGE, "layer 1", 100, NORMAL_MODE)

#Step 3. 將圖層物件加入影像物件
pdb.gimp_image_add_layer(img, layer_one, 0)

pdb.gimp_display_new(img)

  • 啟動 GIMP Python Console
  • 將上面的程式碼,全部選取、複製、再貼到 Python Console 提示符號 >>> 之後,按下 Enter 。
  • 過一會,就會看到一個影像視窗,內有「空無一物」的圖層。
  • 別小看「空無一物」的圖層,要作畫、填圖、著色,都要先有它才行得通。