C# Color.FromArgb()及系統(tǒng)顏色對(duì)照表一覽
C#關(guān)于顏色值的表示:
常用的顏色值表示方式有兩種,一種是10進(jìn)制的RGB值表示,如(0,113,255),三個(gè)值分別表示(紅,綠,藍(lán));一種是16進(jìn)制的顏色碼表示,如#ff3212。這兩種形式在編程中都可以用到。若是在VS設(shè)計(jì)器中,設(shè)置某個(gè)控件的前景色或背景色時(shí),可直接用0,113,255或#ff3212的形式,而在后臺(tái)代碼中,也可以通過(guò)Color.FromArgb()方法使用這兩種形式來(lái)定義顏色。
Color.FromArgb()方法的重載及使用
Color.FromArgb()方法共有四種重載形式,MSDN上列出來(lái)這四種重載方法的說(shuō)明已足夠解釋各個(gè)參數(shù)的含義。
其中alpha分量值即透明度設(shè)置要比較注意:
Color.FromArgb (Int32, Int32, Int32)方法是沒(méi)有設(shè)alpha值的,默認(rèn)為255,即不透明。而在使用Color.FromArgb (Int32)方法時(shí),alpha值是默認(rèn)為0的,例16進(jìn)制顏色碼#dd2378,使用Color.FromArgb (0xdd2378)來(lái)定義顏色,則alpha值是默認(rèn)為0,該顏色是全透明的,所以看不到該顏色。要想顯示出該顏色,必須設(shè)置alpha值>0,如:Color.FromArgb (0x7fdd2378);此時(shí)顏色為半透明。當(dāng)然也可以將alpha值設(shè)置為全不透,其值為0xffdd2378。
不過(guò)在使用該值時(shí)有些注意事項(xiàng),因?yàn)?xffdd2378是無(wú)符號(hào)整型uint類(lèi)型,而Color.FromArgb (Int32)的參數(shù)是int型,因此必須使用強(qiáng)制轉(zhuǎn)化Color.FromArgb((int)0xffdd2378),不過(guò)即使這樣,程序仍會(huì)報(bào)錯(cuò),需要使用unchecked重寫(xiě)才能成功(unchecked 關(guān)鍵字用于取消整型算術(shù)運(yùn)算和轉(zhuǎn)換的溢出檢查)。
我通過(guò)幾句簡(jiǎn)單的代碼來(lái)說(shuō)明這個(gè)問(wèn)題,代碼如下:
button1.BackColor = Color.FromArgb(0xdd2378); button2.BackColor = Color.FromArgb(0x7fdd2378); unchecked //在后續(xù)的作用域范圍內(nèi),取消整型算術(shù)運(yùn)算和轉(zhuǎn)換的溢出檢查 { button3.BackColor = Color.FromArgb((int)0xffdd2378); }
如圖所示,這是使用Color.FromArgb (Int32)方法設(shè)置按鈕背景色時(shí)使用三個(gè)不同值的效果。其差別一目了然。
C#中的顏色對(duì)照表
使用方法:
Color c1 = Color.FromArgb(32,178,170); //此方法設(shè)置的顏色,其透明度屬性alpha=255,完全不透明。 Color c2 = Color.FromKnownColor(KnownColor.LightSeaGreen); Color c3 = System.Drawing.Color.Lime;
顏色對(duì)照表 參考下面:
補(bǔ)充:# 顏色表
以下的顏色代碼取自HTML規(guī)范,這些顏色的名稱(chēng)對(duì)應(yīng)于KnownColor的屬性。比如,你可以用以下代碼來(lái)創(chuàng)建一個(gè)Color對(duì)象:
Color c = Color.FromKnownColor(KnownColor.colorname);
所有的colorname在后面的表格中一一列出,這些顏色對(duì)應(yīng)的RGB值列在名字的后面,你可以使用FromArgb方法來(lái)創(chuàng)建Color對(duì)象。以下兩行實(shí)際上創(chuàng)建了同一種顏色:
Color c1 = Color.FromArgb(32,178,170); Color c2 = Color.FromKnownColor(KnownColor.LightSeaGreen);
在下面這張表中,我嚴(yán)格依照顏色的RGB值設(shè)置對(duì)應(yīng)顏色的顯示。你所看到的真實(shí)效果依賴(lài)于瀏覽器是否準(zhǔn)確處理了對(duì)應(yīng)24位色的顏色顯示(一些瀏覽器可能將某些顏色映射成“最接近的網(wǎng)頁(yè)調(diào)色板顏色”),顯示器的調(diào)節(jié)或者你顯卡的校正值。因此顯示效果會(huì)略有不同。
補(bǔ)充:
還有一些獲取顏色的方式:
Color c1 = Color.AliceBlue; //Color類(lèi)自帶的靜態(tài)顏色對(duì)象Color c2 = Color.FromArgb(0x20B2AA); //網(wǎng)頁(yè)里面提取的顏色(原格式為#20B2AA)
C#顏色和名稱(chēng)對(duì)照表
A B C D E F G H I J K L M
N O P Q R S T U V W X Y Z
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
- C# 實(shí)現(xiàn)顏色漸變窗體控件詳細(xì)講解
- C# 實(shí)現(xiàn)顏色的梯度漸變案例
- C# 如何設(shè)置label(標(biāo)簽)控件的背景顏色為透明
- C#使用RichTextBox實(shí)現(xiàn)替換文字及改變字體顏色功能示例
- C#利用Label標(biāo)簽控件模擬窗體標(biāo)題的移動(dòng)及窗體顏色不斷變換效果
- C# 根據(jù)表格偶數(shù)、奇數(shù)加載不同顏色
- C#更改tabControl選項(xiàng)卡顏色的方法
- C#及WPF獲取本機(jī)所有字體和顏色的方法
- C#實(shí)現(xiàn)更改MDI窗體背景顏色的方法
- c# 顏色選擇控件的實(shí)現(xiàn)代碼
相關(guān)文章
基于C#編寫(xiě)一個(gè)操作XML的簡(jiǎn)單類(lèi)庫(kù)XMLHelper
這篇文章主要為大家詳細(xì)介紹了如何基于C#編寫(xiě)一個(gè)操作XML的簡(jiǎn)單類(lèi)庫(kù)——XMLHelper,文中的示例代碼講解詳細(xì),需要的小伙伴可以參考一下2023-06-06c#獲取季度時(shí)間實(shí)例代碼(季度的第一天)
這篇文章主要介紹了c#獲取季度時(shí)間:季度的第一天、季度的最后一天等功能,大家參考使用吧2013-12-12C#實(shí)現(xiàn)格式化SQL語(yǔ)句的示例代碼
這篇文章主要為大家詳細(xì)介紹了C#如何實(shí)現(xiàn)格式化SQL語(yǔ)句的功能,文中的示例代碼簡(jiǎn)潔易懂,具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-08-08C#實(shí)現(xiàn)目錄跳轉(zhuǎn)(TreeView和SplitContainer)的示例代碼
本文主要介紹了C#實(shí)現(xiàn)目錄跳轉(zhuǎn)(TreeView和SplitContainer)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07C#使用yield關(guān)鍵字構(gòu)建迭代器詳解
這篇文章主要為大家詳細(xì)介紹了C#使用yield關(guān)鍵字構(gòu)建迭代器的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10C#過(guò)濾DataTable中空數(shù)據(jù)和重復(fù)數(shù)據(jù)的示例代碼
這篇文章主要給大家介紹了關(guān)于C#過(guò)濾DataTable中空數(shù)據(jù)和重復(fù)數(shù)據(jù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01C#數(shù)據(jù)結(jié)構(gòu)與算法揭秘四 雙向鏈表
上節(jié)說(shuō)過(guò)這節(jié)會(huì)講雙向鏈表,環(huán)形鏈表和應(yīng)用舉例,我們開(kāi)始吧?。。。?/div> 2012-11-11最新評(píng)論