回答
如果你想有一个完整的JavaScript的解决方案:
function parseHexColor(c) {
var j = {};
var s = c.replace(/^#([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/, function(_, r, g, b) {
j.red = parseInt(r, 16);
j.green = parseInt(g, 16);
j.blue = parseInt(b, 16);
return "";
});
if(s.length == 0) {
return j;
}
};
function colorDifference(a, b) {
var a = parseHexColor(a);
var b = parseHexColor(b);
if(typeof(a) != 'undefined' && typeof(b) != 'undefined') {
return "#" + (a.red - b.red).toString(16) + (a.green - b.green).toString(16) + (a.blue - b.blue).toString(16);
}
};
尝试自己:
colorDifference('#FFFFFF', '#AABBCC'); // returns : "#554433"
'colorToJson'函数的名称具有误导性。它不创建JSON。 – 2012-03-22 11:25:53
完全同意,随意重写函数名称:) – 2012-03-22 11:32:58
我会建议在您的颜色减法中加入'Math.abs',以确保您没有像'#-ff-ff-ff'这样的值。 – Johannes 2014-03-13 00:34:03
在更短的,你可以放心地对颜色进行计算,所以将两个很容易,因为这:
{
color: #ff0000 + #00ff00;
}
甚至
{
color: red + green;
}
编辑:
同样,你可以得到两个区别通过仅减去它们并将差异存储在LESS变量中供以后使用。
@difference: #ffff00 - #ff0000;
应该给你#00ff00
作为结果。
我明白了,这就是为什么我需要从我拥有的颜色向后工作。假设我需要添加颜色x和y来制作颜色z。我有X和Z的值 – 2012-03-22 10:54:19
你也可以减去。查看我的编辑 – 2012-03-22 10:57:08
- 1. 两种颜色之间的差异
- 2. 如何计算两种颜色之间的差异(亮度,亮度,颜色)?
- 3. 找到两种颜色之间的对比差异
- 4. 如何插入两种颜色之间?
- 5. 如何找到两种其他颜色之间的颜色?
- 6. IE和FF之间的差异。颜色
- 7. vista和Win7之间的颜色差异
- 8. 指定颜色和测量颜色之间的差异,matplotlib颜色映射
- 9. 如何确定两个大型数据集之间的差异?
- 10. 基于两种颜色之间的相对差异重新计算梯度颜色的公式
- 11. dc.js制作两种颜色之间的颜色范围
- 12. iOS在两种颜色之间的点上找到颜色
- 13. 计算两种颜色之间的颜色?
- 14. 如何使用three.js在两种颜色之间补间?
- 15. 计算两种颜色之间的渐变上给定点的颜色?
- 16. 使用javascript检测颜色是否在两种颜色之间
- 17. 如何创建在两种颜色之间交替的虚线?
- 18. 两次之间的差异
- 19. 如何正确计算两个CGAffineTransform矩阵之间的差异(差异)?
- 20. 如何使用C#中两种颜色之间的rgb差异来找到最接近的匹配?
- 21. 确定日期之间的差异
- 22. 确定日期之间的差异
- 23. 如何计算两个日期之间的差异正确php
- 24. ASCII颜色为HEX颜色
- 25. 如何无限地在两种颜色动画之间切换?
- 26. 两个2d向量之间的角度,两种方法之间的差异?
- 27. 确定两个MySQL数据库模式之间的差异
- 28. 确定两个拟合多项式之间的差异
- 29. 确定两个对象之间的差异
- 30. 确定两个位图之间的差异
你是什么意思时,你说你想要的颜色结合? – Guffa 2012-03-22 10:46:31
你有什么尝试?你到底有什么问题?十六进制只是一个数字表示,所以执行减法不应该是问题。 – 2012-03-22 10:47:34
这不是,但。这是三双。 – 2012-03-22 10:51:08