/*** HSL颜色值转换为RGB. * 换算公式改编自 http://en.wikipedia.org/wiki/HSL_color_space.* h, s, 和 l 设定在 [0, 1] 之间* 返回的 r, g, 和 b 在 [0, 255]之间** @param   Number  h       色相* @param   Number  s       饱和度* @param   Number  l       亮度* @return  Array           RGB色值数值*/function hslToRgb(h, s, l){var r, g, b;if(s == 0){r = g = b = l; // achromatic}else{var hue2rgb = function hue2rgb(p, q, t){if(t < 0) t += 1;if(t > 1) t -= 1;if(t < 1/6) return p + (q - p) * 6 * t;if(t < 1/2) return q;if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;return p;}var q = l < 0.5 ? l * (1 + s) : l + s - l * s;var p = 2 * l - q;r = hue2rgb(p, q, h + 1/3);g = hue2rgb(p, q, h);b = hue2rgb(p, q, h - 1/3);}return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];
}
/*** RGB 颜色值转换为 HSL.* 转换公式参考自 http://en.wikipedia.org/wiki/HSL_color_space.* r, g, 和 b 需要在 [0, 255] 范围内* 返回的 h, s, 和 l 在 [0, 1] 之间** @param   Number  r       红色色值* @param   Number  g       绿色色值* @param   Number  b       蓝色色值* @return  Array           HSL各值数组*/function rgbToHsl(r, g, b){r /= 255, g /= 255, b /= 255;var max = Math.max(r, g, b), min = Math.min(r, g, b);var h, s, l = (max + min) / 2;if(max == min){h = s = 0; // achromatic}else{var d = max - min;s = l > 0.5 ? d / (2 - max - min) : d / (max + min);switch(max){case r: h = (g - b) / d + (g < b ? 6 : 0); break;case g: h = (b - r) / d + 2; break;case b: h = (r - g) / d + 4; break;}h /= 6;}return [Math.floor(h*100), Math.round(s*100)+"%", Math.round(l*100)+"%"];
}

HSL、RGB颜色转换相关推荐

  1. css rgb转hsl,HSL到RGB颜色转换

    也是从这里,它很好地解释了它的数学原理. 这基本上是一堆可以与HSL(Hue Saturation Lightness)相互转换的函数 经过测试并在PHP 5.6.15上工作 TL; DR:完整代码可 ...

  2. RGB颜色转换成16bit颜色

    RGB颜色是一个DWORD值,32bit,格式为0x00rrggbb,通过三个宏:GetRValue.GetGValue和GetBValue可以得到三个颜色分量,用8bitBYTE表示.16bit颜色 ...

  3. RGB颜色转换十六进制颜色

    RGB颜色转换为十六进制颜色:     十六进制颜色转换为RGB颜色:     十六进制颜色查询 颜   色 英文代码 形象描述 十六进制 RGB   LightPink 浅粉红 #FFB6C1 25 ...

  4. 十六进制与rgb颜色转换

    十六进制转换为RGB const hexToRGB = hex => {let alpha = false,h = hex.slice(hex.startsWith('#') ? 1 : 0); ...

  5. js方法实现rgb颜色转换成16进制格式的代码的方法

    原文地址:http://www.cnblogs.com/vaal-water/archive/2013/04/08/3008880.html 自己试过很好用 function zero_fill_he ...

  6. c语言中用rgb改颜色字体,C语言颜色转换宏

    C语言颜色转换宏 #define COLOR_BPP16_RGB555 /* Win RGB */ #define COLOR_RGB(r,g,b) ((COLORREF)(((BYTE)(r)|(( ...

  7. [iOS 16进制颜色转换RGB](转)

    宏定义方法 #define RGB(r,g,b,a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]#define ...

  8. 数字图像处理与Python实现-颜色空间转换-RGB颜色空间与HSL颜色转换

    RGB颜色空间与HSL颜色转换 RGB颜色空间与HSL颜色转换 1. 前言 2. RGB颜色空间与HSL颜色转换描述 3. 程序实现 1. 前言 HSL是一种将RGB色彩模型中的点在圆柱坐标系中的表示 ...

  9. js中RGB与十六进制颜色转换

    一.关于颜色的表示 颜色的表示方式不知一种,从photoshop的取色面板就可以看出,如下: 上图共显示了5种颜色的表示方法:HSB,lab,RGB,CMYK与十六进制表示法 在CSS中,我们也经常与 ...

  10. php rgb,php颜色转换函数hex-rgb

    一个很使用的php颜色转换函数,用于将hex表示的颜色值转换为rgb格式.例如:#dfdfdf转换成(239,239,239) 用法: var_dump(hex2rgb("#efefef&q ...

最新文章

  1. PHP文件在线检测病毒,VIRSCAN 在线病毒检测客户端
  2. ASP.NET中AJAX的UpdatePannel控件的用法
  3. 轻量级Web应用程序:PrimeFaces(JSF)+ Guice + MyBatis(第1部分)
  4. Python语法特点如注释规则、代码缩进、编码规范等
  5. 变量:2021数字科技前沿应用趋势
  6. leetcode刷题:1.无重复字符的最长字串
  7. bootstrap下拉框分页_学习使用Bootstrap输入框、导航、分页等常用组件
  8. @Intercepts-mybatis拦截器
  9. C语言 小游戏 电脑大概率获胜,用C语言实现简单的三子棋小游戏
  10. 软件工程-东北师大站-第十一次作业(PSP)
  11. Linux学习13-CentOS安装ab做压力测试
  12. 流水作业c语言代码,C语言流水灯
  13. 关于adb驱动的安装
  14. C++ Primer中英文版 (第5版)
  15. VS+Qt应用开发-设置软件图标
  16. GitHub每月优秀热门项目推荐:2021年12月
  17. 强强联合丨谱尼测试与北大医疗鲁中医院开启战略合作新征程
  18. 想要避免After Effects渲染失败的问题,5个小技巧必看
  19. vscode使用ssh连接远程Ubuntu服务器(记录)
  20. cpc和ocpc,如果你是运营,你选哪个?

热门文章

  1. 终端模拟器怎么用android命令大全,终端模拟器命令大全apk下载-终端模拟器刷入recovery手机版下载V1.0.70安卓最新版-西西软件下载...
  2. excel表格打印每页都有表头_打印的表格只有第一页有标题?一键让每页都带表头标题...
  3. AndroidStudio 自带avd模拟器WiFi网络受限无法连接
  4. cygwin运行flink 1.14.4 解决报错Improperly specified VM option ‘MaxMetaspaceSize
  5. 芯片解密什么是物联网芯片,与普通芯片有什么不同?
  6. python-ip端口扫描器
  7. java实现批量注册_Java写的批量域名注册查询程序
  8. 塔防三国志服务器维护时间,《塔防三国志》停服公告
  9. 更改适配器设置无法和计算机连接,win10系统更改适配器没有无线网络连接的设置技巧...
  10. 迅捷路由器设置AP模式