如何從 RGB 生成顏色 UIColor

開發 iOS App 時,若要從程式指定顏色,一般會生成 UIColor 物件。例如以下例子:

輸入參數內容前的程式。

顏色可由 RGB 的數字組成,比方以下網站列出的RGB配色表。

輸入參數內容。

let color = UIColor(red: 128/255, green: 100/255, blue: 0, alpha: 1)

程式執行的結果

參數說明

red, green, blue: 傳入顏色的比例。

數字的範圍是 0 ~ 1。比方紅色 128 時,請傳入 128 / 255。(因為顏色的數字範圍是 0 ~ 255)

在這裡有一點要注意的地方。128 / 255 原本應該會變成 0,因為整數運算的結果也會是整數,不會有小數點,就好像地球人亞當跟夏娃生出的小孩也會是地球人,不會是火星人。

但在 UIColor(red: 128/255, green: 100/255, blue: 0, alpha: 1) 裡 128/255 卻變成 0.502。

這是因為當初參數 red 的型別為 CGFloat,而 CGFloat 代表浮點數,因此 Swift 聰明地知道要將 128 & 255 變成浮點數再相除,128.0 / 255.0 將等於 0.5019607843137255。

如以下例子,當我們將 number 的型別宣告為 CGFloat 時,128 / 255 將得到 0.5019607843137255。

alpha: 顏色的透明度。

數字範圍 0 ~ 1,0 表示完全透明,沒有人看得到。1 則是完全不透明,0.5 是半透明。

--

--

彼得潘的 iOS App Neverland
彼得潘的 Swift iOS App 開發問題解答集

彼得潘的iOS App程式設計入門,文組生的iOS App程式設計入門講師,彼得潘的 Swift 程式設計入門,App程式設計入門作者,http://apppeterpan.strikingly.com