1. 程式人生 > >C語言程式設計,IOS軟體開發,張明生

C語言程式設計,IOS軟體開發,張明生

通過Core Library的文件,我們知道建立顏色有這麼幾個方法:

CGColorCreate
CGColorCreateCopy
CGColorCreateGenericGray
CGColorCreateGenericRGB
CGColorCreateGenericCMYK
CGColorCreateCopyWithAlpha
CGColorCreateWithPattern

再來看一下CGColorCreate

CGColorRef CGColorCreate (

CGColorSpaceRef colorspace,

const CGFloat components[]

);

我們通過CGColorCreate就可以建立顏色。既然我們要用RGB表示顏色,那麼colorspace這個引數我們就可以使用CGColorSpaceCreateDeviceRGB(),而我們主要來探討components這個引數。

這個引數是一個數組,帶有4個數值:

float color[]={紅色分量, 綠色分量, 藍色分量, alpha分量};

這4個數值都是0-1區間,0表示黑(不發光),數字越大這種顏色的光線越強,alpha分量表示透明度。比如{1.0, 0, 0,1.0}就是純紅色而且完全不透明

。。。。。。。。。。。。。

要在螢幕上顯示顏色,通常需要使用RGB去表示。R表示紅、G表示綠、B表示藍。CMYK也是用於表示顏色的方法,但是由於CMYK是用於印刷,因此RGB範疇內的顏色有一些是無法用CMYK表示的(比如比較亮的螢光色)。它們之間的差別主要是RGB表示的是發光物體的顏色(螢幕本身是發光直射到眼睛的),而CMYK表示的是反射光(比如紙上的圖,是別的物體比如太陽或者燈發光,通過它反射到我們眼睛裡,我們才看到顏色)。這裡面比較深入的內容如果你有興趣請你去搜索。

如果你瞭解一點web上取顏色的方法,你應該知道web中顏色的數值是這樣表示的:

#FFCC00 表示一種亮黃,前兩位FF是紅色分量,CC是綠色分量,00是藍色分量。00表示黑,也就是沒有這個顏色,FF表示這個顏色的最大值。這個數字越小越暗(螢幕不發光),越大越亮(光越強)。


轉自:http://www.cocoachina.com/b/?p=155