溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Color.FromArgb()怎么在C#項目中使用

發(fā)布時間:2021-01-14 16:13:09 來源:億速云 閱讀:284 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)Color.FromArgb()怎么在C#項目中使用,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

C#關(guān)于顏色值的表示:

常用的顏色值表示方式有兩種,一種是10進(jìn)制的RGB值表示,如(0,113,255),三個值分別表示(紅,綠,藍(lán));一種是16進(jìn)制的顏色碼表示,如#ff3212。這兩種形式在編程中都可以用到。若是在VS設(shè)計器中,設(shè)置某個控件的前景色或背景色時,可直接用0,113,255或#ff3212的形式,而在后臺代碼中,也可以通過Color.FromArgb()方法使用這兩種形式來定義顏色。

Color.FromArgb()方法的重載及使用

Color.FromArgb()方法共有四種重載形式,MSDN上列出來這四種重載方法的說明已足夠解釋各個參數(shù)的含義。

Color.FromArgb()怎么在C#項目中使用

其中alpha分量值即透明度設(shè)置要比較注意:

Color.FromArgb (Int32, Int32, Int32)方法是沒有設(shè)alpha值的,默認(rèn)為255,即不透明。而在使用Color.FromArgb (Int32)方法時,alpha值是默認(rèn)為0的,例16進(jìn)制顏色碼#dd2378,使用Color.FromArgb (0xdd2378)來定義顏色,則alpha值是默認(rèn)為0,該顏色是全透明的,所以看不到該顏色。要想顯示出該顏色,必須設(shè)置alpha值>0,如:Color.FromArgb (0x7fdd2378);此時顏色為半透明。當(dāng)然也可以將alpha值設(shè)置為全不透,其值為0xffdd2378。

不過在使用該值時有些注意事項,因為0xffdd2378是無符號整型uint類型,而Color.FromArgb (Int32)的參數(shù)是int型,因此必須使用強(qiáng)制轉(zhuǎn)化Color.FromArgb((int)0xffdd2378),不過即使這樣,程序仍會報錯,需要使用unchecked重寫才能成功(unchecked 關(guān)鍵字用于取消整型算術(shù)運(yùn)算和轉(zhuǎ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);
 }

C#中的顏色對照表

使用方法:

Color c1 = Color.FromArgb(32,178,170); //此方法設(shè)置的顏色,其透明度屬性alpha=255,完全不透明。 
Color c2 = Color.FromKnownColor(KnownColor.LightSeaGreen);
Color c3 = System.Drawing.Color.Lime;

顏色對照表 參考下面:

補(bǔ)充:# 顏色表

以下的顏色代碼取自HTML規(guī)范,這些顏色的名稱對應(yīng)于KnownColor的屬性。比如,你可以用以下代碼來創(chuàng)建一個Color對象:

Color c = Color.FromKnownColor(KnownColor.colorname);

所有的colorname在后面的表格中一一列出,這些顏色對應(yīng)的RGB值列在名字的后面,你可以使用FromArgb方法來創(chuàng)建Color對象。以下兩行實際上創(chuàng)建了同一種顏色:

Color c1 = Color.FromArgb(32,178,170);
Color c2 = Color.FromKnownColor(KnownColor.LightSeaGreen);

在下面這張表中,我嚴(yán)格依照顏色的RGB值設(shè)置對應(yīng)顏色的顯示。你所看到的真實效果依賴于瀏覽器是否準(zhǔn)確處理了對應(yīng)24位色的顏色顯示(一些瀏覽器可能將某些顏色映射成“最接近的網(wǎng)頁調(diào)色板顏色”),顯示器的調(diào)節(jié)或者你顯卡的校正值。因此顯示效果會略有不同。

補(bǔ)充:

還有一些獲取顏色的方式:

Color c1 = Color.AliceBlue; //Color類自帶的靜態(tài)顏色對象Color c2 = Color.FromArgb(0x20B2AA);  //網(wǎng)頁里面提取的顏色(原格式為#20B2AA)

C#顏色和名稱對照表

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

關(guān)于Color.FromArgb()怎么在C#項目中使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI