[Part I. GIMP基礎功]

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



顯示具有 第20章 圖案和輪廓線 標籤的文章。 顯示所有文章
顯示具有 第20章 圖案和輪廓線 標籤的文章。 顯示所有文章

20.1 電漿與抽象的圖案


執行[影像] / 濾鏡 / 描繪 / 雲狀 / Solid Noise 【註1】,產生灰階的霧狀效果。

Solid Noise濾鏡的「隨機化」參數,讓每次產生的圖都不一樣。

如此,會讓最終製作出來的抽象圖案,其質感不一樣。

執行[影像] / 色彩 / 界限值 【註2】,界限值範圍設102到140。

利用界限值指令,可產生黑白色塊的影像,調整「界限值範圍」,可產生不同的黑白色塊分布情況。

執行[影像] / 濾鏡 / 模糊化 / 高斯模糊 【註3】,模糊半徑設 5。

黑色與白色的分界處,變模糊。
新增透明的圖層。圖層命名為plasma。

執行[影像] / 濾鏡 / 描繪 / 雲狀 / 電漿 【註4】,參數使用預設值,產生霧狀的七彩圖案。

執行[影像] / 色彩 / 自動 / Stretch Contrast 【註5】,增強明暗對比。

兩個圖層,以差值(Difference)模式,重疊在一起,重疊後的顏色為:
  • R色版的顏色值:abs(Fr-Br)
  • G色版的顏色值:abs(Fg-Bg)
  • B色版的顏色值:abs(Fb-Bb)
符號的意義:
  • abs 表示絕對值。
  • Fr 表示上方圖層的 R 色版的顏色值。
  • Fg 表示 G 色版的顏色值。
  • Fb 表示 B 色版的顏色值。
  • Br 表示下方圖層的R色版的顏色值。
  • Bg 表示 G 色版的顏色值。
  • Bb 表示 B 色版的顏色值。

若下面圖層的顏色為白色(255,255,255),會顯示出上面圖層的互補色,相當於執行色彩反相的動作。
若下面圖層的顏色為黑色(0,0,0),會顯示出上面圖層的原本的顏色,相當於沒有做任何動作。

若下面圖層的顏色是在(128,128,128)附近的灰色,上層的顏色與之相減,再取絕對值,則顏色大都會偏黑。

因為執行過模糊濾鏡,在black_white圖層中黑白交界的顏色多在(128,128,128)附近。

這就是為何以「差值」模式重疊圖層,會出現黑色的細線,而將plasma的圖案區隔成一塊一塊的原因。


選單及項目名稱的英文:
【註1】 [Image] / Filters / Render / Clouds / Solid Noise
【註2】 [Image] / Colors / Threshold,Threshold Range設102到140
【註3】 [Image] / Filters / Blur / Gaussian Blur,Blur Radius設 5
【註4】 [Image] / Filters / Render / Clouds / Plasma
【註5】 [Image] / Colors / Auto / Stretch Contrast


等價的 Python-Fu 程式碼

# 影像的尺寸
width = 256;height = 256;
img = pdb.gimp_image_new(width, height, RGB)
layer_one = pdb.gimp_layer_new(img, width, height, RGB_IMAGE, "black_white", 100, NORMAL_MODE)
layer_two = 0
pdb.gimp_display_new(img)
pdb.gimp_image_add_layer(img, layer_one, 0)

# Solid Noise 所使用的參數值
seed = 0; detail = 1; xscale = 4; yscale = 4
pdb.plug_in_solid_noise(img, layer_one, FALSE, FALSE, seed, detail, xscale, yscale)

pdb.gimp_threshold(layer_one, 102, 140)

blur_radius = 5
pdb.plug_in_gauss_iir(img, layer_one, blur_radius, 1, 1)

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, 'plasma')
pdb.gimp_layer_set_mode(layer_two, DIFFERENCE_MODE)

# Plasma 所使用的參數值
seed = 0; turbulence = 1
pdb.plug_in_plasma(img, layer_two, seed, turbulence)

#增強「電漿圖案」的對比
pdb.plug_in_c_astretch(img, layer_two)

  • 啟動 GIMP Python Console
  • 將前面的程式碼,全部選取、複製、再貼到 Python Console 提示符號 >>> 之後,按下 Enter 。
  • 過一會,就會看到結果圖,與其圖層結構,如下圖所示。

20.2 換色與抽象的圖案


新增 256x256大小的影像。
執行[影像] / 濾鏡 / 描繪 / 雲狀 / Solid Noise 【註1】,勾選「湍流」項目,勾選「可鋪排」項目,產生灰階霧狀的效果。
勾選「可鋪排」項目,產生的圖案是無接縫的圖案。
將圖層更名為Black White。


複製Black White圖層,產生一個複製的圖層,將它更名為Colorful。
對Colorful圖層,執行[影像] / 色彩 / 映射 / Gradient Map 【註2】,使用Full saturation spectrum CCW漸層,將黑白圖案變成彩色的圖案。


對Black White圖層,執行[影像] / 色彩 / 映射 / Gradient Map 【註3】,使用French flag漸層,將黑白圖案變成藍白紅的圖案。
藍白紅是法國國旗的顏色。


使用[影像] / 選擇 / 依顏色 【註4】,將藍色的部分選住,將選取的部分塗上黑色。
同樣的方式,將紅色的部分塗上白色。


複製Black White圖層,將圖層更名為Edge。
對Edge圖層,執行[影像] / 濾鏡 / 模糊化 / 高斯模糊 【註5】,模糊半徑設 5,黑色與白色的分界處變模糊。
執行[影像] / 色彩 / 界限值 【註6】,「界限值範圍」設64到179。
利用界限值指令,將模糊化的黑白分界處轉變為白色。



執行[影像] / 色彩 / 反相 【註8】,將顏色反轉。
執行[影像] / 選擇 / 依顏色 【註9】,將白色部分選住。
執行[影像] / 編輯 / 清除 【註10】,清除選取的白色部分。
此時,只剩黑色的邊界。
執行[影像] / 濾鏡 / 模糊化 / 高斯模糊【註11】,模糊半徑設 2。


將三個圖層重疊顯示。

將Colorful的圖層模式設為「差值」。

  • 在 Solid Noise 濾鏡的對話盒內,勾選「可鋪排」的項目。
  • 因此,產生的圖案,是無接縫的圖案。
  • 下面是四個圖案並排的情形。


邊緣生成的方式:
  • 高斯模糊濾鏡,搭配界限值指令,可用來尋找黑白交替的邊緣。
  • GIMP 也有邊緣偵測的濾鏡,位於「[影像] / 濾鏡 / 邊緣偵測」【註7】。
  • 後來發現,使用邊緣濾鏡(Edge),來尋找黑白交替的邊緣,較省事。
  • 使用 Sobel 濾鏡,還可產生透明的背景,更省事。

黑白色塊的圖
使用邊緣濾鏡,來尋找邊緣
使用 Sobel 濾鏡,來尋找邊緣


選單及項目名稱的英文:
【註1】 [Image] / Filters / Render / Clouds / Solid Noise,勾選Tilable,勾選Turbulent
【註2】 [Image] / Colors / Map / Gradient Map
【註3】 [Image] / Colors / Map / Gradient Map
【註4】 [Image] / Select / By Color
【註5】 [Image] / Filters / Blur / Gaussian Blur,Blur Radius設 5
【註6】 [Image] / Colors / Threshold,Threshold Range設64到179
【註7】 [Image] / Filters / Edge-Detect
【註8】 [Image] / Colors / Invert
【註9】 [Image] / Select / By Color
【註10】 [Image] / Edit / Clear
【註11】 [Image] / Filters / Blur / Gaussian Blur,Blur Radius設 2

20.3 條帶狀微光的海水

波紋扭動的效果,需要 Sea 濾鏡:
  • Sea 濾鏡,並沒有內建於GIMP 2.6版之中。
  • 本範例仍維持 GIMP 1.2版的 Sea 濾鏡的製作效果。
  • 若在GIMP 2.6版之中,這個範例需要用到Math Map外掛濾鏡。
  • Math Map 外掛,請自行上網下載並安裝,可參考「14.4 圖解「扭曲形變」與「Math Map」的操作」。


藍色到青色的漸層

產生256x256的新影像。
前景色藍色RGB值(0,0,255),背景色氰藍色RGB值(0,255,255)。

氰藍色,也稱為青色。

在混色工具的選項面版內 【註1】 ,漸層設「前景色至背景色 (RGB)」,形狀設線性。
使用混色工具,在影像視窗內,由左上至右下,拉一條直線。


波紋源自於隨意塗畫的線條

選定Circle(03)的筆刷,使用鉛筆工具,隨意畫上一些白色的線條。


執行[影像] / 濾鏡 / 一般性 / Math Map / Distorts / Sea 【註2】 ,此濾鏡可製造出略微不規則的波浪效果。

執行[影像] / 濾鏡 / 模糊化 / 高斯模糊 【註3】 ,模糊半徑設5。
執行兩次高斯模糊。
此時,已經有海水被陽光照射而產生光影的感覺。


分割影像,放大影像,上下重疊

使用矩形選取工具,將影像左右兩部分切割成兩塊。

  • 配合[影像] / 編輯 / 複製 【註4】 、[影像] / 編輯 / 貼上為 / 新增圖片 【註5】 ,產生兩個新的影像視窗,存檔命名為 leftpart.xcf 與 rightpart.xcf 。
  • 對 leftpart.xcf 與 rightpart.xcf 影像,都執行[影像] / 圖片 / 縮放圖片 【註6】 ,將尺寸放大為256x256。
影像放大為256x256。
影像放大為256x256。


兩個圖層,以濾色 Screen 模式,重疊在一起

產生256x256的新影像。
拷貝 leftpart.xcf 與 rightpart.xcf 的影像。

將兩個圖層以濾色模式重疊顯示。

濾色模式具有漂白的功能,兩個圖層重疊顯示,海水反射的光影更具層次感。



選單及項目名稱的英文:
【註1】 Gradient設FG to BG (RGB),Shape設Linear
【註2】 [Image] / Filters / Generic / Math Map / Distorts / Sea
【註3】 [Image] / Filters / Blur / Gaussian Blur,Radius設5
【註4】 [Image] / Edit / Copy
【註5】 [Image] / Edit / Paste as / New Image
【註6】 [Image] / Image / Scale Image

20.4 星芒狀微光的海水

波紋扭動的效果,需要 Sea 濾鏡:
  • Sea 濾鏡,並沒有內建於GIMP 2.6版之中。
  • 本範例仍維持 GIMP 1.2版的 Sea 濾鏡的製作效果。
  • 若在GIMP 2.6版之中,這個範例需要用到Math Map外掛濾鏡。
  • Math Map 外掛,請自行上網下載並安裝,可參考「14.4 圖解「扭曲形變」與「Math Map」的操作」。


藍色到青色的漸層

產生256x256的新影像,將圖層更名為Gradient。
前景色藍色RGB值(0,0,255),背景色氰藍色RGB值(0,255,255)。

氰藍色,也稱為青色。

在混色工具的選項面版內 【註1】 , 漸層設「前景色至背景色(RGB)」,形狀設線性。

在影像視窗內,使用混色工具,由左上至右下拉一條直線。


波紋源自於星芒狀雜點的效果

新增一層黑色的圖層,名為Star Light。

執行[影像] / 濾鏡 / 雜色 / RGB Noise 【註2】 ,不勾選Independent RGB項目,紅、綠、藍、透明都設0.2。產生灰色的雜點。也可將透明設為0。

執行[影像] / 濾鏡 / 光影 / Sparkle 【註3】,Luminosity Threshold設0.03,Spike Length設40,其餘使用預設值。

再執行[影像] / 濾鏡 / 光影 / Sparkle 【註4】,Luminosity Threshold設0.03,Spike Length設65,其餘使用預設值。

將兩個圖層以濾色模式(Screen)重疊顯示。

合併Star Light與Gradient這兩個圖層。


執行[影像] / 濾鏡 / 一般性 / Math Map / Distorts / Sea 【註5】 ,使用該濾鏡製造波浪的效果。

執行[影像] / 濾鏡 / 模糊化 / 高斯模糊 【註6】,模糊半徑設2。執行兩次高斯模糊。


分割影像,放大影像

使用矩形選取工具,將影像左右兩部分切割成兩塊。
  • 配合[影像] / 編輯 / 複製 【註7】 、[影像] / 編輯 / 貼上為 / 新增圖片 【註8】,產生兩個新的影像視窗,存檔命名為 leftpart.xcf 與 rightpart.xcf 。
  • 對 leftpart.xcf 與 rightpart.xcf 影像,都執行[影像] / 圖片 / 縮放圖片 【註9】 ,將尺寸放大為256x256。
aaaaa
影像放大為256x256。
影像放大為256x256。


兩個圖層,以濾色 Screen 模式,重疊在一起

產生256x256的新影像。
拷貝 leftpart.xcf 與rightpart.xcf 中的影像。

將兩個圖層以濾色模式重疊顯示。

濾色模式具有漂白的功能,兩個圖層重疊顯示,海水反射的光影更具層次感。



選單及項目名稱的英文:
【註1】 Gradient設FG to BG (RGB),Shape設Linear,Repeat設Triangular wave
【註2】 [Image] / Filters / Noise / RGB Noise,Red、Green、Blue、Alpha都設0.2
【註3】 [Image] / Filters / Light and Shadow / Sparkle
【註4】 [Image] / Filters / Light and Shadow / Sparkle
【註5】 [Image] / Filters / Generic / Math Map / Distorts / Sea
【註6】 [Image] / Filters / Blur / Gaussian Blur
【註7】 [Image] / Edit / Copy
【註8】 [Image] / Edit / Paste as / New Image
【註9】 [Image] / Image / Scale Image