//將背景色的值定義成空字符串

成都創(chuàng)新互聯(lián)主要從事成都網站建設、成都網站設計、網頁設計、企業(yè)做網站、公司建網站等業(yè)務。立足成都服務扶風,10多年網站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:13518219792
var bgColor="";
//循環(huán)6次,生成一個隨機的六位數
for (var i = 0 ; i 6 ; i++)
{
bgColor += "" + Math.round(Math.random() * 9);
}
//將隨機生成的背景顏色值賦給頁面的背景色。
document.getElementById("test")
.style.backgroundColor="#" + bgColor;
把下面的代碼放在一個空網頁的最后體驗一下。
SCRIPT language=javascript type=text/javascript
var a=Math.round(Math.random()*0x1000000);
var c="00000".concat(a.toString(16));
document.bgColor="#"+c.substr(c.length-6,6);
/SCRIPT
/**?
*?獲取十六進制的顏色代碼.例如??"#6E36B4"?,?For?HTML?,?
*?@return?String?
*/??
public?static?String?getRandColorCode(){??
String?r,g,b;??
Random?random?=?new?Random();??
r?=?Integer.toHexString(random.nextInt(256)).toUpperCase();??
g?=?Integer.toHexString(random.nextInt(256)).toUpperCase();??
b?=?Integer.toHexString(random.nextInt(256)).toUpperCase();??
r?=?r.length()==1???"0"?+?r?:?r?;??
g?=?g.length()==1???"0"?+?g?:?g?;??
b?=?b.length()==1???"0"?+?b?:?b?;??
return?r+g+b;??
}
說下思路,不一定對,隨機顏色的化,每次隨機三個 0到255的數字,組合成一個RGB,應該就可以了,現在的問題是,區(qū)分顏色之間的鮮明程度。定義一個閾值A
A= (r1-r2)^2+(g1-g2)^2+(b1-b2)^2 根據這樣來計算,每生成一種顏色,就把這種顏色跟其余顏色的閾值計算出來,如果全都滿足,那么就可以,如果有一個不滿足,那就重新隨機生成一次。
A具體的值是多少,這個你可以摸索下,設置太大的化,隨機生成的顏色的數量,可能不夠,太小的化,顏色的鮮明程度不滿足。
實際上,上面A的公式來計算 顏色的鮮明程度 是錯誤的,不能這樣算。
random.nextInt(256)隨機產生一個256以內的整數 ,
Integer.toHexString()將整數轉換成16進制表示,返回的是一個String類型
toUpperCase()是將一個String字符串轉換成大寫表示
例如 26——"1a"——"1A"
r =( ( r.length() == 1 )?( "0" + r) : r );這句的意思是如果r的長度為1,則前面補個"0",長度不是1,則返回r(三元表達式),如 r="2",就變成r="02"
網頁標題:java生成隨機顏色代碼,js隨機生成顏色的代碼
URL標題:http://chinadenli.net/article25/dsiedji.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站改版、微信小程序、面包屑導航、網站設計公司、虛擬主機、手機網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)