如何从另一种颜色中减去一种颜色
How to subtract a color from another
是否可以从另一种颜色中减去一种颜色?
示例(如果我错了,请纠正我):
如果我从白色中减去红色和绿色,我期望结果为蓝色。
var white = 0xFFFFFF,
red = 0xFF0000,
result = white - red;
console.log(result); //65535 <-- what is that ? can it be converted to 0x00FFFF ?
[更新]
多亏了Rocket的回答,我需要一个function()
来将我的结果转换成实际的颜色。
这是最后一个工作示例:
var toColor = function ( d ) {
var c = Number(d).toString(16);
return "#" + ( "000000".substr( 0, 6 - c.length ) + c.toUpperCase() );
},
white = 0xFFFFFF,
red = 0xFF0000,
green = 0x00FF00,
result = toColor( white - red - green );
console.log( result ); // logs the expected result: "#0000FF"
您的white-red
运行良好,只是JavaScript将值表示为基本值10。你需要将它们转换回16进制。看看这个答案,将值转换回十六进制。
var white = 0xFFFFFF, // Stored as 16777215
red = 0xFF0000, // Stored as 16711680
result = white - red; // 16777215 - 16711680 = 65535
console.log(result); // It's stored as base 10, so it prints 65535
var resultHex = result.toString(16); // 'ffff', converted back to hex
我只是假设您使用的是RGB,因为还有很多其他混合颜色的方法。你必须把一种颜色分成3个不同的部分,R G和B。
// R G B
var white = [ 1, 1, 1];
var red = [ 0, 0, 0 ];
var result = [ white[0] - red[0], white[1] - red[1], white[2] - red[2] ;
要减去颜色,你必须减去颜色的每个组成部分,也许稍后将其转换回十六进制
*您可能希望稍后在上添加Alpha
相关文章:
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 如何获得一种颜色的rgb值'It’它接近另一种颜色
- 悬停时:用一种颜色突出显示维基百科的所有相同链接,用不同的颜色突出显示其他地方的所有相同的链接
- 查看整个画布是否被涂成一种颜色的方法.Javascript + processing.js
- 如何在 Javascript 中按百分比使颜色与另一种颜色相似
- 在此之后,我如何为另一种颜色制作动画
- 这个颜色选择器中的彩虹条在哪里?为什么可以'我只是点击一种颜色
- 使用HighCharts为Javascript中的每个值指定一种颜色
- 生成类似于一种颜色的可微分颜色
- jQuery.fadeOut淡出为一种颜色,然后消失
- 如何从另一种颜色中减去一种颜色
- linearGradient以一种颜色显示
- 是否有一种方法可以使用OpenLayers来改变openstreetmap中某些特征的颜色?
- 我需要为手风琴换一种颜色;我在一起工作
- 如何改变一个变量的颜色为另一种颜色与预定义的调色板与javascript
- 用另一种颜色替换图像/精灵中的特定颜色
- 从一种颜色平滑过渡到另一种颜色
- Google Maps JavaScript API -用一种颜色显示未激活的替代路由,用另一种颜色显示激活的替代路由
- 有可能生成一种颜色吗
- 是否有一种方法可以改变特定文本的颜色