將十六進製制色值轉換成Color

2022-01-28 16:56:49 字數 1111 閱讀 5643

在給background賦值時,除了自帶的red,blue,black等,可以通過以下方法賦予其他顏色。

主要是將hex轉換成argb(a:alpha,表示透明度、r:red、g:green、b:blue),其中argb取值均在0--255之間 

該方法傳入的字串引數可以類似 #21459a 或者 #ff21459a

public static color?getcolorfromhex(string colorstr)  //? 表示返回值可以為null                                     

byte r = byte.parse(colorstr.substring(posi, 2), numberstyles.hexnumber);

posi += 2;

byte g = byte.parse(colorstr.substring(posi, 2), numberstyles.hexnumber);

posi += 2;

byte b = byte.parse(colorstr.substring(posi, 2), numberstyles.hexnumber);

returncolor.fromargb(a, r, g, b);

}return null;

}

之後給背景色賦值

grid.background= new solidcolorbrush(getcolorfromhex("

#21459a

").value);

當然在知道rgb的時候也可以採取如下方式:

grid.background = new solidcolorbrush() ;

= new solidcolorbrush(color.fromargb(255,33, 69, 154) );

//未建立物件 這種方法不行

ps: 在程式設計過程中,複製win8.1上的skype別人發來的色值字串.長度竟然會比正常的多一位。

(原因是在末尾會有乙個為「」的東西。。。的確為空,但是用鍵盤方向鍵就可以觀察到裡面是有東西的)

且能夠提取到這個為空的字元。也因為這個小細節苦惱了好久。。‏

十六進製制轉換成八進位制

第一次發部落格,若寫的不好,希望大家多提下意見 乙個簡單的進製轉換的問題 十六進製制轉換成八進位制 思想 先把十六進製制的數轉成二進位制,然後再把二進位制的數轉成八進位制 include include using namespace std string hextobin string hex 十...

十六進製制轉換成二進位制

public static void main string args throws exception string strs newstring length int j 0 for int i 0 i str.length i else list.addall arrays.aslist st...

公私鑰轉換成十六進製制形式

在一些情況下,我們需要將公私鑰由pem格式轉換成十六進製制來提供給第三方進行使用,openssl沒有提供命令列的轉換方式,其中實現介面如下 私鑰轉換為16進製為 bool convertpripemtohex const std string pem private key,std string h...