随机颜色很简单,但我想随机生成出来的颜色都是不要刺眼的。不知道颜色上的柔和区域有什么规律没有?
只有95分了,全部送上!

解决方案 »

  1.   

    纯色当然很刺眼,原因就是边框很清晰,所以想边框柔和的话,必须需要进行颜色过度,也就是(使边线)颜色渐变过程,这个在HTML5比较好处理,非HTML5时,设法构建立渐变过程,模拟PS的渐变效果,有前景色过度到背景色,...
      

  2.   


    淡蓝色:#F6F9FE
    粉红色:#FFE9F4
    淡清色:#E1ECE6
    橘黄:  #FEDEB6
    灰色:  #CECECE用DebugBar带的拾色工具,看哪种颜色好看就拾下来;
      

  3.   

    function hsl2color(hsl) {
    if (hsl[0] > 360 || hsl[0] < 0 || hsl[1] > 100 || hsl[1] < 0 || hsl[2] > 100 || hsl[2] < 0)
    return "#000000";
    var rgb = [0, 0, 0];
    if (hsl[0] <= 60) {
    rgb[0] = 255;
    rgb[1] = Math.floor(255 / 60 * hsl[0]);
    } else if (hsl[0] <= 120) {
    rgb[0] = Math.floor(255 - (255 / 60) * (hsl[0] - 60));
    rgb[1] = 255;
    } else if (hsl[0] <= 180) {
    rgb[1] = 255;
    rgb[2] = Math.floor((255 / 60) * (hsl[0] - 120));
    } else if (hsl[0] <= 240) {
    rgb[1] = Math.floor(255 - (255 / 60) * (hsl[0] - 180));
    rgb[2] = 255;
    } else if (hsl[0] <= 300) {
    rgb[0] = Math.floor((255 / 60) * (hsl[0] - 240));
    rgb[2] = 255;
    } else if (hsl[0] <= 360) {
    rgb[0] = 255;
    rgb[2] = Math.floor(255 - (255 / 60) * (hsl[0] - 300));
    }
    var sat = Math.abs((hsl[1] - 100) / 100);
    rgb[0] = Math.floor(rgb[0] - (rgb[0] - 128) * sat);
    rgb[1] = Math.floor(rgb[1] - (rgb[1] - 128) * sat);
    rgb[2] = Math.floor(rgb[2] - (rgb[2] - 128) * sat);
    var lum = (hsl[2] - 50) / 50;
    if (lum > 0) {
    rgb[0] = Math.floor(rgb[0] + (255 - rgb[0]) * lum);
    rgb[1] = Math.floor(rgb[1] + (255 - rgb[1]) * lum);
    rgb[2] = Math.floor(rgb[2] + (255 - rgb[2]) * lum);
    } else if (lum < 0) {
    rgb[0] = Math.floor(rgb[0] + rgb[0] * lum);
    rgb[1] = Math.floor(rgb[1] + rgb[1] * lum);
    rgb[2] = Math.floor(rgb[2] + rgb[2] * lum);
    }
    return "#" + (0x1000000 + rgb[0] * 0x010000 + rgb[1] * 0x000100 + rgb[2]).toString(16).substring(1);
    }var color = hsl2color([360 * Math.random(), 100, 70]);
    document.title = color;
    document.body.style.backgroundColor = color;使用另一套色系:hsl  H: hue,色调,
      S:saturation 饱和度
      L lum 亮度
      概述
      HSL色彩模式是工业界的一种颜色标准,是通过对色调(H)、饱和度(S)、亮度(L)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,HSL即是代表色调,饱和度,亮度三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
      HSL色彩模式使用HSL模型为图像中每一个像素的HSL分量分配一个0~255范围内的强度值。HSL图像只使用三种通道,就可以使它们按照不同的比例混合,在屏幕上重现16777216种颜色。
      在 HSL 模式下,每种 HSL 成分都可使用从 0到 255的值。(其中L是从黑(0)到白(255)渐变)
      Windows自带画图程序中菜单栏->颜色->编辑颜色->规定自定义颜色 中可以通过修改E(H)SL的值(0~240)以得到对应RGU(B)的值。 
      

  4.   

    顶 9楼, 在这个问题上 hsl 更容易控制