国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 邏輯算法 > 正文

又是一個漸變色生產算法

2020-03-22 19:42:00
字體:
來源:轉載
供稿:網友
  • 背景

    簡化了下背景,給定一個指標X,比較小的時候是正常的,比較大的時候比較危險。為了更直觀地地顯示,前端顯示的時候希望使用顏色來高亮這個值——比較小的時候顏色是綠色,較大的時候顯示紅色,并且用一些黃色進行過渡。

    使用google搜了搜,沒有找到合適的代碼。于是乎,露珠自己打算搞個~貽笑大方了···

    分析

    顏色在HTML中可以用RGB值來表示——綠色是rgb(0,255,0), 紅色是rgb(255,0,0),黃色是rgb(255,255,0). 為了達到漸變效果,需要設計一個函數F:

    F(0) = rgb(0,255,0);F(比較大的值) = rgb(255,0,0);F(中間的值) = rgb(255,255,0);
    結果

    函數貌似很復雜,但是調了一會就出來了,效果來不錯。

    曬曬代碼:

    /** * 生成漸變色,從綠色到紅色的漸變 * @param int   $x          指標值 * @param int   $threshold  漸變閾值,$x等于這個值的時候剛好是黃色 * @param float $brightness 亮度,從0到1 * @return string RGB格式的顏色值 */function generateGradientColor($x, $threshold, $brightness = 1){    return sprintf('rgb(%d, %d, 0)',                    intval(min(255, ($x * 1.0 / $threshold * 255)) * $brightness),                    intval(max(0, min(255, (2 - $x * 1.0 / $threshold) * 255)) * $brightness));}
    效果

    生成的漸變色的效果如下(threshold = 25):

      

    附生成上述效果的PHP代碼:

    <style>    div{        display: block;        font-size: 10px;        height: 1em;    }</style><?phpfor ($i = 1; $i < 50; $i++){    echo strtr("<div style='width: {width}em; background-color: {color}'>$i</div>", array(        '{width}' => $i,        '{color}' => generateGradientColor($i, 25)    ));}?>
    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 天长市| 波密县| 买车| 揭东县| 札达县| 康保县| 平利县| 金门县| 蒲城县| 巴彦县| 荔波县| 定兴县| 饶河县| 永州市| 台东县| 平湖市| 嘉善县| 宽城| 霍邱县| 法库县| 黔东| 隆回县| 吴桥县| 淮阳县| 库车县| 凤阳县| 济宁市| 巴楚县| 千阳县| 霸州市| 张家川| 开远市| 莫力| 张家界市| 盐源县| 诸城市| 江油市| 阜平县| 兴仁县| 中西区| 珲春市|