在給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) //? 表示返回值可以為nullbyte 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...