承接前節的結果
火山熔岩執行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)