[精讚] [會員登入]
323

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

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

此文完整連結 http://n.sfs.tw/11162

複製連結 [PHP] 隨機產生一個顏色字串@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2017-06-03 12:00:30 最後編修
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
 

你可能感興趣的文章

[PHP] 位元運算 (Bitwise operation)及和PERL比較 PHP 的位元運算,及和PERL比較整理

[PHP] 類別的繼承及建構子和解構子 PHP 類別的繼承及建構子和解構子

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

[CI3] 使用和修改日曆類別 calendar library CI3有一個日曆圖書館 library,可以快速的建立一個日曆,但是想修改讓他更棒

[PHP] 命名空間 namespace及 use PHP >=5.3 開始支援命名空間:namespace

PHP cli 傳入參數 php cli (PHP命令列的傳入參數使用方法

設定Google analytics API #3 -- 查詢範例 讓你的網站能夠存取你的Google analytics上面的資料

[PHP7] 讀取mysql資料庫的傳統方法 使用傳統預設的方法來連結mysql資料庫

[PHP] 判斷程式是從CLI、本地網路或是網際網路端執行的方法 PHP利用IP判斷程式是從CLI、本地網路或是網際網路端執行的方法

[PHP] 類別中要怎麼使用callback function 召回函數(回呼函數)? 在類別中使用標準函數,若其中的callback 函數也是在類別中,該怎麼使用?

我有話要說


限制:留言最高字數1000字,超過部分會被截掉。請注意:留言不可帶有網址,會被濾掉。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

使用Google尋找你的手機 這近發現google竟然可以用來找android的手機,而且不需要經過什麼設定或安裝軟體。

[jQuery] 利用load()來達成ajax的寫法 jQuery中利用load()來達成ajax的寫法,也有人稱他是假的ajax,作法就是..

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

[jQuery] select 元件的取值及給值 html中的元件select,在jquery中要如何使用?

Linux shell 的date表示法 linux下SHELL中的date表示法