.NET c# Color物件的使用介紹(轉)

l_serein發表於2012-12-16
.NET框架中的顏色基於4種成份,透明度,紅,綠和藍.每一種成份都是一個位元組,在0--255之間取值.
Color結構代表顏色,當類和方法要作用於顏色的時候,它們作用於Color結構的一個例項.Color結構通過表態屬性公開了140個命名顏色,這些屬性返回預先建立的Color物件.
Color newColor = Color.Red;


建立Color例項的另一種方式是呼叫靜態FromArgb方法,該方法有4個過載方式.
1.建立Color例項的引數成份為4種顏色成份
Color c = Color.FromArgb(100,200,200,200);
第1個引數為透明度(alpha)引數,其後為紅,綠和藍.
2.只接受紅,綠,藍三種原色,透明度設定為預設,即完全不透明.
Color c = Color.FromArgb(200,200,200);
3.從一個現在的Color物件建立一個新的Color例項,只修改透明度成份
Color c = Color.FromArgb(100,Color.PowderBlue);
4.用一個形式為AARRGGBB的組合整數建立一個Color例項
Color c = Color.FromArgb(0x64C8C8FF);


還可以通過呼叫靜態FromKnownColor方法來建立Color物件.它接受KnownColor列舉值作為引數.
Color c = Color.FromKnownColor(KnownColor.PowderBlue);


再有一個方式就是呼叫靜態FromName方法,它接受一個字串引數,這個字串必須包含一個KnownColor列舉值的名稱.
Color c = Color.FromName("PowderBlue");


Color結構有4種顏色成份的只讀屬性,A,R,G,B.可以使用這些屬性提取各種成份,並調配成新的顏色.
其他一些非靜態屬性包含:
IsNamedColor Boolean值,如果顏色值在這140個命名顏色中時,值為true,否則為false.
IsKnownColor Boolean值,如果顏色值是KnownColors列舉的顏色之一時,值為true
IsSystemColor Boolean值,如果顏色值是SystemColors類的屬性值之一時,值為true.


系統顏色
SystemColors類封裝了26種系統顏色,這個類可以通過靜態屬性使用顏色.
Color c = SystemColors.WindowText;


KnownColor列舉包含了SystemColors類的26種顏色值,及Color結構的靜態屬性所公開的140種顏色值.

相關文章