我正在寻找一种工具或算法来将HSL颜色转换为RGB.在我看来,HSL并没有被广泛使用,所以我没有太多运气寻找转换器.
我有一个白色图像,我用作div的背景,我想颜色以匹配主题主色.我知道我能做到:
filter: sepia() saturate(10000%) hue-rotate(30deg);
Run Code Online (Sandbox Code Playgroud)
并循环hue-rotate查找颜色,但是可以提前计算这个值吗?鉴于指定的十六进制值非常暗,我想我也需要包含invert(%)过滤器.
鉴于十六进制值#689d94什么数学做我需要做什么来计算期望hue-rotate和invert我的白色背景图像转换成相同颜色值?
这是一个div白色背景图像被绿色过滤的片段.这里的诀窍是,它是整个div被过滤的,而不仅仅是图像.如果我要div在文本中输入一些文字颜色也会变成绿色.
div {
background:url(http://richard.parnaby-king.co.uk/basket.svg) no-repeat scroll 0 0 transparent;
background-size:5em;
width:5em;
height:5em;
-webkit-filter: invert(25%) sepia() saturate(100000%) hue-rotate(174deg);
filter: invert(25%) sepia() saturate(100000%) hue-rotate(174deg);
}Run Code Online (Sandbox Code Playgroud)
<div>
</div>Run Code Online (Sandbox Code Playgroud)
我需要准确地将HSB转换为RGB,但我不知道如何解决将小数转换为整数而不进行舍入的问题.这是我在colorpicker库中使用的当前函数:
HSBToRGB = function (hsb) {
var rgb = { };
var h = Math.round(hsb.h);
var s = Math.round(hsb.s * 255 / 100);
var v = Math.round(hsb.b * 255 / 100);
if (s == 0) {
rgb.r = rgb.g = rgb.b = v;
} else {
var t1 = v;
var t2 = (255 - s) * v / 255;
var t3 = (t1 - t2) * (h % 60) / 60;
if (h == 360) h = 0;
if …Run Code Online (Sandbox Code Playgroud) 有没有人知道javascript中将RGB颜色转换为HSV颜色格式的函数?
(或jQuery)
我可以将HSB颜色转换为HSL吗?
Photoshop在其颜色选择器中显示HSB颜色.HSL颜色可以在CSS中使用.
我试过这个JS:
function hsb2hsl(h, s, b) {
return {
h: h,
s: s,
l: b-s/2
}
}
而hsb2hsl(0, 100, 50).l == 0不是25
更新:如果不转换HSB→RGB→HSL,我可以这样做吗?
所以,如果我有一个文本"点击我为变亮",有一些深绿色的十六进制颜色,如"#00801a"的CSS颜色属性我想使它这样,当我点击它,它使一个浅绿色.同样,如果它是一些蓝色,点击它会使它变成浅蓝色.基本上我想知道是否有办法在不知道实际颜色的情况下改变css颜色.
我需要一个颜色转换器从hsl转换为rgb和十六进制值.我会像这样做.我正在使用jquery和jquery ui range slider.这是我的代码:
$(function() {
$( "#hsl_hue_range" ).slider({
min: 0,
max: 100,
value: 0,
range: false,
animate:"slow",
orientation: "horizontal",
slide: function( event, ui ) {
var hsl_hue = ui.value;
}
});
});
$(function() {
$( "#hsl_saturation_range" ).slider({
min: 0,
max: 100,
value: 0,
range: false,
animate:"slow",
orientation: "horizontal",
slide: function( event, ui ) {
var hsl_saturation = ui.value;
}
});
});
$(function() {
$( "#hsl_light_range" ).slider({
min: 0,
max: 100,
value: 0,
range: false,
animate:"slow",
orientation: "horizontal", …Run Code Online (Sandbox Code Playgroud) 我想将 a 的像素更改HTML5 canvas为一个hsl值。它可以是hsl用户选择的任何值。
我可以用 var imageData = canvas.getImageData(0, 0, 200, 200);
但是该imageData.data数组包含rgba. 实际上数组中的每个值都是一个字节,所以 -
data[0] = r, data[1] = b, data[2] = g, data[3] = a, data[4] = r, data[5] = b, data[6] = g, data[7] = a 等等。
有没有api可以用来操作imageData的?一个api会抽象原始数据,以便 -data[0] = rgba, data[1] = rgba等等?
这可能有类似的方法 - data[0].setValueHSL(60, 100%, 50%);
如果这个 api 不存在,是否有一个类可以创建/表示一个 hsl 值并且可以将值转换为 rgb?
目前我的H1标签设置为#8c0000(深红色).
使用jQuery,我想获得H1的颜色,然后根据h1的颜色进行计算,以确定如果我想要几个阴影更暗的新颜色的十六进制值.
这样做的原因是我想通过创建"插入"文本阴影来使用CSS3的新文本阴影属性来创建"浮雕"效果.
我相信,要获得H1元素的颜色,可以使用:
('H1').css('color');
Run Code Online (Sandbox Code Playgroud)
但是,如何计算更暗的阴影呢?
PS - 看到H1颜色将动态设置,我不能只是在固定的文本阴影中进行硬编码,这就是我需要计算的原因......
任何帮助将不胜感激.先感谢您
javascript ×6
colors ×5
jquery ×4
css ×3
converter ×2
hsb ×2
hsl ×2
hsv ×2
rgb ×2
color-picker ×1
css-filters ×1
css3 ×1
html ×1
html5-canvas ×1