[精讚] [會員登入]
1737

[PHP] 隨機產生一個顏色字串

讓PHP 隨機產生一個顏色字串

分享此文連結 //n.sfs.tw/11162

分享連結 [PHP] 隨機產生一個顏色字串@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-23 20:54:44 最後編修
2017-06-03 12:00:30 By 張○○
 

久以前貼出去,後來要用時候找不到,上網去搜尋又搜尋到自己寫的函數,呵呵!趕快貼回家來。

在網頁中常會使用顏色字串的情況,例如 <font color="#123456"> 的"#123456 如果要想要每次都不太一樣來點變化,就可以使用這個函式。

 /**
   * 函數名稱:string CreateRndClrStr($startv, $darkflag)
   * 功能:隨機產生一個顏色字串
   * @param $startv: start value, an integer 0-255, 0:darkest(black) to 255:white
   * @param $darkflag: true:from $startv to darker value; false:from $startv to lighter value。(true向前演色、false向後淺色)
   * @return a color string. 回傳:字串(ex.#123456, #ABCDEF)
   * ex: CreateRndClrStr(200,false) create an light color string which lightest color value is 200 產生一個淺色的字串
   * ex: CreateRndClrStr(70,true) create an dark color string 產生一個深色的字串,最淺的顏色是70
   */

  function CreateRndClrStr($startv,$darkflag=false)
  {
    mt_srand((double)microtime()*1000000);
    $cv=0;
    for($ii=0;$ii<3;$ii++){
      if($darkflag) $v =mt_rand(0,$startv);
      else  $v =mt_rand($startv,255);
      $cv+= $v<< $ii*8;
    }
    $hex= str_pad(dechex($cv), 6, "0", STR_PAD_LEFT);
    return "#".$hex;
  }

原文 2010-12-10 14:59:56
 

END

你可能感興趣的文章

設定Google analytics API #1 -- Google網站上的設定 讓你的網站能夠存取你的Google analytics上面的資料

[PHP] CodeIgniter 3+pure+smarty安裝及環境設置2/2 PHP framework CodeIgniter 3+ pure CSS +smarty Template Engine的整合#2

[PHP] CodeIgniter 3+pure+smarty安裝及環境設置1/2 PHP framework CodeIgniter 3+ pure CSS +smarty Template Engine的整合

[PHP] 如何寫callback function 召回函數(回呼函數) PHP如何寫召回函數或回呼函數(callback function)?

[PHP] 取得檔名和路徑:basename, dirname 由絕對路徑取的路徑及檔名的方法

[PHP] preg_match 的貪婪和不貪婪比對 在php preg_match中預設是採用貪婪比對,太貪婪反而不符合需要,因此得採用「非貪婪比對」...

隨機好文

為什麼要買長達二十年的保單? 為什麼要買長達二十年的保單?找一個可以說服我買二十年保單的理由。

[AS3] 我做的唯一一個Flash As3遊戲UFO INVADSION [AS3] 我做的唯一一個Flash As3遊戲,是第一個也是最後一個,後來就沒再寫as3,不過as3還滿好玩的。

外匯課程經驗 有天遇到某個朋友的正妹朋友,說她有個很棒的外匯投資課程,要我們去聽,只收場地費200大洋。她又說續效最差一個月也有1%,誰還在苦哈哈上班?

[Mysql] 資料型態int, float, double, text, char, varchar, blob大小 Mysql中資料型態int, float, text, char, varchar, blob大小

原來KNOW-HOW這麼不值啊~~ 我把網路線拔了又插回去,把交換器重開,斷線的問題就解決了,所花的時間30秒..