[Part I. GIMP基礎功]

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



顯示具有 第11章 材質、圖案、紋理 標籤的文章。 顯示所有文章
顯示具有 第11章 材質、圖案、紋理 標籤的文章。 顯示所有文章

11.1 一種效果的誕生

再次提醒讀者
Part I、Part II、Part III 宗旨與目的
  • Part I. GIMP 基礎功:
    • 學習數位影像的基礎知識。
    • 練習 GIMP 介面的操作。
    • 熟悉各類面版、按鈕工具的用法。
    • 瞭解筆刷、圖樣、漸層的用途。
    • 濾鏡與工具的簡單範例。
  • Part II. 一種效果的誕生
    • 比 Part I.再複雜些的範例。但仍舊不是太困難的範例。
    • Part II. 重點是學習「製造效果的流程」。
    • 學習將「製造效果的流程」轉換為「程式碼」。
  • Part III. Script-Fu 的秘密
    • 開源程式(Open Source)的最大好處,就是可以瀏覽內部的程式碼。
    • 瀏覽眾家高手所撰寫的 scm 檔,也是學習 GIMP 的好方法。
    • 對多數人,以 Scheme 語言為基礎的 Script-Fu ,可能有點困難。我將 Scheme 語言的程式改寫為 Python 的版本 。讓讀者更容易親近 Script-Fu,更容易探索 Script-Fu 的秘密。


本章目的


一種效果的誕生
  • 「Part II. 一種效果的誕生」的範例,以照片來解說範例,比例算是低的。少了一張張美美的照片,因此,看起來,比較不吸引讀者。
  • 其實,從「文字效果」學到的任何技巧,都可以作用在合適的照片上。因此,第15章之後,重點是學習「製造效果的流程」。
  • 這流程,在 GIMP 中,可以轉換為 Script-Fu 或 Python-Fu 程式碼。

11.2 練習濾鏡的組合

A + B + C = D
  • 對初學者,要測試出 A 濾鏡 + B 濾鏡 + C 濾鏡 = D 效果,並不是一件容易的事。
  • 最好的方式,不是自己盲目地試驗。
  • 而是,看看別人怎麼做,還有要掌握單一濾鏡的功能特性。
  • 第11章 材質、圖案、紋理,內容很簡單,呼應了第10章 濾鏡的簡單應用。
  • 本章的目的,是為了讓讀者體會濾鏡組合,所帶來的驚奇視效。

11.3 Script-Fu與圖樣

幾種濾鏡效果的組合
  • 創作時,常會需要一些特殊的材質、圖案或紋理,有時可藉由一些濾鏡效果的組合,來產生所需的材質。
  • 若研究Patterns相關的Script- Fu的程式碼,就會發現這些Script-Fu組合既有濾鏡的效果,以此產生有趣的圖案。Script-Fu的程式檔放置在「C:\Program Files\GIMP-2.0\share\gimp\2.0\scripts」目錄內。
  • 例如,在flatland.scm程式內,最重要的三行程式碼,就是下列三行,執行三種濾鏡的運算。
(plug-in-solid-noise ... )
(plug-in-c-astretch ... )
......
(plug-in-gradmap ... )


小島圖的基礎是Solid Noise濾鏡
  • [影像] / 檔案 / Create / Patterns 【註1】 ,選單內Flatland、Land、Render Map,這三個Script-Fu都是以Solid Noise濾鏡為基礎,來產生無接縫圖案。



先選定漸層,再執行Script-Fu
  • Flatland搭配Caribbean Blues漸層、Land 1漸層或Land and Sea漸層,其效果都不錯。
  • 漸層參數對Flatland的效果影響很大,但是Flatland的對話盒內沒有漸層參數,若要執行Flatland,需要先在漸層面版內選擇特定的漸層。

  • 先選定Caribbean Blues漸層,再執行Flatland。
  • 下圖為Flatland的對話盒,與執行後的結果圖。



選單及項目名稱的英文:
【註1】[Image] / File / Create / Patterns

11.4 雲霧效果與漸層換色

換色之前,要先準備灰階的圖案
  • 新增 256x256大小的影像。
  • 執行[影像] / 濾鏡 / 描繪 / 雲狀 / Solid Noise 【註1】 ,產生霧狀雜訊的圖案,若勾選「可鋪排」的項目,產生的圖案是無接縫的圖案。



嘗試不同的換色方式
  • 換色,可將黑白圖案變成彩色的圖案。
  • Gradient Map,漸層換色是簡單又常用的換色方式,多試試不同的換色方式,有時可製造出令人驚豔的效果。
  • Gradient Map是一個沒有對話盒的濾鏡,它位於色彩選單,而非位於濾鏡選單。
  • Gradient Map的使用方式為,先在漸層面版內,選擇特定的漸層,而後,再執行[影像] / 色彩 / 映射 / Gradient Map 【註2】。



選單及項目名稱的英文:
【註1】[Image] / Filters / Render / Clouds / Solid Noise
【註2】[Image] / Colors / Map / Gradient Map

11.5 利用雲霧圖案產生材質

雲霧圖案



海水
執行Gradient Map,使用Caribbean Blues漸層。


小技巧
可在漸層面版內,更換漸層圖案。


海水
執行Gradient Map,使用Blue Green漸層。


小技巧
Ctrl+F鍵,可重複上一個濾鏡的動作。


黃金的色澤
執行Gradient Map,使用Golden漸層。



火山熔岩
執行Gradient Map,使用German flag smooth漸層。


等價的 Python-Fu 程式碼
  • 前節,操作視窗介面,利用雲霧圖案產生材質。
  • 也可用程式碼得到相同結果。
  • 啟動 GIMP Python Console
  • 將下面的 Python 程式碼,全部選取、複製、再貼到 GIMP Python-Fu Console 提示符號 >>> 之後,按下 Enter 。
  • 過一會,就會看到結果圖,可改變 gradient 參數,就會得到不同的材質。

# 影像的尺寸
width = 256;height = 256;

# Solid Noise 所使用的參數值
seed = 0;detail = 1;xscale = 4;yscale = 4

# 更換不同名稱的漸層,會出現不同的圖案
#gradient = "Caribbean Blues"
#gradient = "Blue Green"
gradient = "Golden"
#gradient = "German flag smooth"

img = pdb.gimp_image_new(width, height, RGB)
layer_one = pdb.gimp_layer_new(img, width, height, RGB_IMAGE, "Solid Noise", 100, NORMAL_MODE)
layer_two = 0
pdb.gimp_display_new(img)
pdb.gimp_image_add_layer(img, layer_one, 0)

pdb.plug_in_solid_noise(img, layer_one, FALSE, FALSE, seed, detail, xscale, yscale)

#也可試試增強「雲霧圖案」的對比
#pdb.plug_in_c_astretch(img, layer_one)

layer_two = pdb.gimp_layer_copy(layer_one, TRUE)
pdb.gimp_image_add_layer(img, layer_two, -1)
pdb.gimp_layer_set_name(layer_two, "Gradient Map")
pdb.gimp_image_set_active_layer(img, layer_two)

pdb.gimp_context_set_gradient(gradient)
pdb.plug_in_gradmap(img, layer_two)

11.6 雜點濾鏡

1. 新增 256x256大小的影像。
2. 執行[影像] / 濾鏡 / 雜色 / RGB Noise 【註1】 ,產生灰色雜點。不勾選Independent RGB選項,紅、綠、藍都設0.5。



3. 執行四次[影像] / 濾鏡 / 雜色 / 擴散 【註2】 ,水平擴散量與垂直擴散量都設5,將雜點擴散。



小技巧
Ctrl+F鍵,可重複上一個濾鏡的動作。


4. 執行四次[影像] / 濾鏡 / 模糊化 / 高斯模糊 【註3】 ,參數設5。



5. 執行[影像] / 色彩 / 自動 / Stretch Contrast 【註4】 ,此指令沒有對話盒。本範例最終的結果如下圖。


注意!
由於RGB Noise濾鏡每次的產生的圖會不一樣,因此每次製作時最終的結果圖的質感也會不一樣。


選單及項目名稱的英文:
【註1】[Image] / Filters / Noise / RGB Noise,Red、Green、Blue都設0.5
【註2】[Image] / Filters / Noise / Spread
【註3】[Image] / Filters / Blur / Gaussian Blur
【註4】[Image] / Colors / Auto / Stretch Contrast

11.7 利用雜點濾鏡產生材質

承接前節的結果



火山熔岩執行Gradient Map,使用German flag smooth漸層。


液態黃金、金色的絨布
執行Gradient Map,使用Golden漸層。



雨林的上空
執行Gradient Map,使用Greens漸層。



等價的 Python-Fu 程式碼
  • 前節,操作視窗介面,利用雲霧圖案產生材質。
  • 也可用程式碼得到相同結果。
  • 啟動 GIMP Python Console
  • 將下面的程式碼,全部選取、複製、再貼到 Python Console 提示符號 >>> 之後,按下 Enter 。
  • 過一會,就會看到結果圖,可改變 gradient 參數,就會得到不同的材質。

# 影像的尺寸
width = 256
height = 256

# RGB Noise 所使用的參數值
amount_r = amount_g = amount_b = 0.5
amount_a = 0

# Spread 所使用的參數值
spread_x = 5
spread_y = 5

# 高斯模糊所使用的參數值
blur_radius = 5

# 更換不同名稱的漸層,會出現不同的圖案
#gradient = "Caribbean Blues"
#gradient = "Blue Green"
gradient = "Golden"
#gradient = "German flag smooth"

img = pdb.gimp_image_new(width, height, RGB)
layer_one = pdb.gimp_layer_new(img, width, height, RGB_IMAGE, "Spread Noise", 100, NORMAL_MODE)
layer_two = 0
pdb.gimp_display_new(img)
pdb.gimp_image_add_layer(img, layer_one, 0)

color = (255, 255, 255)
pdb.gimp_context_set_background(color)
pdb.gimp_edit_fill(layer_one, BACKGROUND_FILL) #塗滿白色

pdb.plug_in_noisify(img, layer_one, FALSE, amount_r, amount_g, amount_b, amount_a)

for i in range(0,4):
  pdb.plug_in_spread(img, layer_one, spread_x, spread_y)

for i in range(0,4):
  pdb.plug_in_gauss_rle(img, layer_one, blur_radius, TRUE, TRUE)

#增強「雜訊圖案」的對比
pdb.plug_in_c_astretch(img, layer_one)

layer_two = pdb.gimp_layer_copy(layer_one, TRUE)
pdb.gimp_image_add_layer(img, layer_two, -1)
pdb.gimp_layer_set_name(layer_two, "Gradient Map")
pdb.gimp_image_set_active_layer(img, layer_two)

pdb.gimp_context_set_gradient(gradient)
pdb.plug_in_gradmap(img, layer_two)

11.8 材質的用處

材質有許多用處,最常的用法是當作背景或紋理。

下圖,使用材質來作為字體Tree的紋理。
下圖的背景是用混色工具搭配「Horizon 1漸層」製作出來的。