[精讚] [會員登入]
1639

[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

你可能感興趣的文章

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

PHP程式經驗 #2 -- print和echo的差異 常在寫php的人一定會想知道echo和print這兩個函數有什麼不一樣 驗證 1. 比較print 和echo 函式的執

[Smarty5] 如何在樣版中使用php本身的函式 解決 smarty5版後不能直接叫用 php函式的問題

[PHP8] 使用autoload autoload+ namespace +use 到了php7之後,namespace和use越來越重要,此篇整理autoload和namespace、use的結合使用。

PHP 產生連續的日期 要用PHP產生連續的日期,連續月份

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

隨機好文

[jQuery] textarea 的取值和給值 HTML 的 TEXTAREA 標籤若要用 jquery 取值,不能使用 .text() 或 .html() ,使用 .

UTF-8 BOM (Byte Order Mark) 的問題 在 Michael Kaplan 那看到 Every character has a story #4: U+feff

[Win7] 燒錄 iso 檔 在Windows7 中內建燒錄程式,可以直接把檔案拉到光碟機裡,再執行燒錄。

Smarty安裝 smarty 是著名的樣版引擎,非常的好用,用多了突然發現拿掉smarty反而不會寫php了,以下是安裝過程..

正則表達式:Email名稱防止連續輸入點(.)及下底線(_) Email的名稱中要允許特殊符號,但又不允許連續出現的正則表達式