- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
如何提取以 #rrggbb
形式给出的颜色的色调分量?
最佳答案
如果你search关于如何将 RGB 转换为 HSL,您会找到许多算法,包括在 Sergey 链接的维基百科文章中。 .
首先,提取十六进制颜色表示法的 RGB 分量。
var color='#c7d92c'; // A nice shade of green.
var r = parseInt(color.substr(1,2), 16); // Grab the hex representation of red (chars 1-2) and convert to decimal (base 10).
var g = parseInt(color.substr(3,2), 16);
var b = parseInt(color.substr(5,2), 16);
这将为您提供颜色的字节 (0-255) 表示。在本例中为 199、217、44。
然后您可以使用维基百科文章中的公式来计算色调,或 shamelessly steal someone else's code :
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 [h, s, l];
}
(有关文档和 hslToRgb()
函数,请参阅 source page。)
我们现在可以将这两个片段放在一起并获得色调:
var hue = rgbToHsl(r, g, b)[0] * 360;
[0]
是获取色相——该函数返回一个数组 ([h,s,l]
)。我们乘以 360,因为色调返回为 0 到 1 之间的值;我们想将其转换为度数。
使用 #c7d92c
的示例颜色,hue
将为 ~66.24。 Photoshop 的颜色选择器显示该颜色的色调为 66°,所以看起来我们不错!
关于javascript - 你如何获得#xxxxxx 颜色的色调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3732046/
我需要用这种格式写一个正则表达式:XXXXXX.XX可以少于6位,.XX部分是可选的。 function checkFormat(el) { var ex = new RegExp(/ ^[0
我想更改管理员最近更改侧边栏如何显示添加的“对象”名称的默认行为。引用下图: 我想更改这些在管理员中的命名方式。理想情况下,我希望能够将其从“MyModelName 对象”更改为“策略”对象示例中的“
在我的导航栏中有这段代码。 about\a 所有 div 在这种情况下所做的就是将文本放在适当的位置,而在 a.hl 中它是 - a.hl{ background-color:#000; text-d
当我尝试构建和运行我的应用程序时,它崩溃了,我在日志中得到了这个: reason: '[ setValue:forUndefinedKey:]: this class is not key value
如何提取以 #rrggbb 形式给出的颜色的色调分量? 最佳答案 如果你search关于如何将 RGB 转换为 HSL,您会找到许多算法,包括在 Sergey 链接的维基百科文章中。 . 首先,提取十
我知道有很多关于这个的话题,我都看过了,但它们对我没有帮助。我的表名是正确的,没有空格或任何异常的东西。我检查了 100 次,然后又检查了 100 次。我将发布我的两段代码,希望有人能提供帮助。 当我
我有一个与远程 mysql 服务器通信的软件。更新远程主机上的 mysql 后,我得到 2014-07-04 10:11:39.8750Access denied for user 'xxx'@'xx
我安装了bind在 CentOS 6 服务器上配置 DNS 区域以定义域。我的 /etc/named.conf这是: options { # listen-on port 53 { 1
我已经使用 leiningen REPL 定义了以下 3 个函数: (defn rand-int-range [floor ceiling] (+ floor (rand-int (- ceiling
我正在使用适用于 STM32F4 的 gcc ARM 编译器编译别人用 C 编写的代码 #define ESC_CSR_CMD_BUSY BIT(31) #define ESC_CSR
float fRealEsate = 360000.00 * 0.04; Toast.makeText(v.getContext(), "Real Estate Brokerage Fee: "
在 WinCrypt.h 中我看到: #define CERT_CHAIN_POLICY_SSL ((LPCSTR) 4) WINCRYPT32API BOOL WINAPI CertVerify
我正在使用 Xcode6.0.1。我正在尝试使用 Application Loader 提交我的应用程序。但它给了我这个错误: CFBundleIdentifier为'com.jiazhong.ios
我一直很好奇这些注释包含 mysqldump 为我生成的类似预处理器的语句是什么意思。这是一个例子: /*!40000 ALTER TABLE abc DISABLE KEYS */; 一般模式似乎是
我在 Visual Studio 2012 RC 中有一个小型 C/C++ 项目 此应用程序解析 argv,然后使用 ShellExecute 调用另一个 .exe 文件 我的应用程序在 Window
如果字符串的模式为XxxXyzAbc... sed 的预期输出必须是 Xxx Xyz Abc ... 例如:如果字符串是QcfEfQfs,则预期输出是Qcf Ef Efs。 如果我尝试用空格替换模式[
我正在开发一个 IOS 应用程序,在使用我自己的 apple id(个人团队)之前,我已经成功地将它发布到应用程序商店。今天我关闭我的xcode并重新打开它,然后我想将我的apple id(已经注册了
我将以下环境变量添加到我的项目中并将其值设置为 YES。 NSDebug已启用 NSZombie启用 MallocStack日志记录 MallocStackLoggingNoCompact 我遵循ht
您好,需要沿反斜杠(/) 去除字符串 例如我有 String vret = "Comment Four/Y/34147/D_Z"; 这必须分成 4 个字符串 Str sarr[]={comment,Y
我正在使用 GridSerach 来搜索分类器的最佳超参数,如下所述:http://scikit-learn.org/stable/auto_examples/model_selection/plot
我是一名优秀的程序员,十分优秀!