3 pyprocessing中的顏色

2021-10-09 22:11:16 字數 2643 閱讀 7354

2020.10.4 精細校對

顏色在processing中必須用數值表示(正如在像c一樣的較底層的語言中一樣),而我們首先會從最簡單的灰度值表示法開始學習:0表示黑色,255表示白色,介於兩者之間的其他數字是從黑色漸變到白色的灰色陰影:

通過在繪製物件之前新增stroke()和fill()函式,我們可以這次設定之後所有畫圖命令所產生的任何形狀的顏色效果。還有乙個函式background(),在整個視窗裡面填滿背景色(所以每次draw中,一般先畫背景,再畫別的啥形狀)。下面是乙個例子:

background(

255)

# 將背景設定為白色

stroke(0)

# 將輪廓設定為黑色 (stroke)

fill(

150)

# 將形狀的內部設定為灰色(fill)

rect(50,

50,75,

100)

# 畫個矩形

從上面這個例子可以看到,fill和stroke分別控制的形狀的輪廓顏色和填充顏色。

你還可以選擇呼叫 nostroke()來讓輪廓色消失,使用nofill()讓填充色消失,但是請不要同時讓他們生效,因為這樣你就畫不出任何東西了~

如果我們需要繪製不同顏色的形狀,那麼需要在每個形狀對應的命令之前呼叫stroke和fill函式為其選擇顏色:(如下圖,可以看到每次呼叫stroke()和fill()函式,都會改變畫圖形狀設定,並對之後的畫圖應用最新的顏色設定)

計算機使用的色彩表示模式不是像蠟筆畫一樣,各種原色的顏色加一起等於黑的那種色彩模式,而是加一起等於白。這是因為螢幕上混合的東西是光而不是塗料,正如你可以想象一下:將各色的光合併之後會產生白色而不是黑色。

正如上面的:紅色+綠色=黃色,紅色+藍色=紫色,綠色+藍色=青色(藍綠色),紅色+綠色+藍色=白色

顏色的混合並不容易掌握,但是熟能生巧。(實在玩不轉,還可以使用各種拾色器)下面是乙個顏色的例子:

16)在選擇顏色的時候,除了r,g,b三個顏色引數,還有乙個隱藏的可選引數,這個引數就是不透明度,又叫「 alpha」。

需要注意的是,並不是畫素真的透明了,processing只是和你完了乙個顏色計算的把戲,將乙個顏色的值按照百分比加入另外乙個顏色中,從而產生一種「混合」或者「透明」的錯覺。

alpha值的範圍也從0到255,其中0完全透明(即0%不透明),而255完全不透明(即100%不透明)。

示例:

size(

200,

200)

background(0)

nostroke(

)# 在顏色命令中不設定第四個引數就意味這 100% 的不透明度

fill(0,

0,255)

rect(0,

0,100,

200)

# 255 means 100% 不透明度

fill(

255,0,

0,255)

rect(0,

0,200,40)

# 75% 不透明度

fill(

255,0,

0,191)

rect(0,

50,200,40)

# 55% 不透明度

fill(

255,0,

0,127)

rect(0,

100,

200,40)

# 25% 不透明度

fill(

255,0,

0,63)

rect(0,

150,

200,

40)

選單中:工具→ 顏色選擇器,開啟後可直觀選擇想要的顏色,並獲得其對應表示值:

as3中的容器

4種容器 array object vector dictionary 各自特點 array是索引陣列,雖然它也是動態類,可以等同於object來用,但是不建議這樣,因為沒有任何好處。除了鍵上的區別外,array還是善於隨機訪問的,但不知道object和dictionary和它在訪問速度上的區別有多...

設計中的道理 3

常聽朋友說,經驗很重要。我剛參加工作的時候,也這麼覺得 覺得好多老工程師非常厲害,怎麼就知道那裡需要加個東西的呢?又怎麼知道加了東西一定有改善的呢?讓我佩服不已。由於許多任務程經驗,猶如羚羊掛角,無跡可尋。好端端的設計工作,真的沒辦法弄了。只好作為孤立的知識點記住。應用中也不免產生這樣或者那樣的問題...

Python中的列表(3)

我們建立的列表元素的順序是無法 的,因為我們無法控制使用者提供資料的順序。為了組織列表中的元素,所以python幫我們提供一些方法用來排序列表中的元素。1.方法 sort 可以對列表永久性排序 names jack nacy cabot names.sort print names console ...