给定的参数是两种颜色的r,g,b。我怎样才能将它们相乘?(就像在Photoshop中混合模式->相乘)例子:color1:0,255,255color2:255,255,0相乘:0,255,0 最佳答案 基于简单的乘法公式,这里有一个适用于RGB的javascript函数:functionmultiply(rgb1,rgb2){varresult=[],i=0;for(;i使用现代JavaScript:constmultiply=(rgb1,rgb2)=>rgb1.map((c,i)=>Math.floor(c*rgb2[i]/25
我正在寻找一种技术,我们可以通过这种技术以编程方式选择最佳颜色对比度,以应用于具有不同(不可预测)背景颜色的HTML元素上的文本。由于HTML元素会有不同的颜色,我们正在寻找一种技术来确定文本背后内容的颜色,然后调整文本的颜色以使用具有最佳对比度的颜色.我很确定这不可能只是CSS,我一直在寻找Jquery解决方案但找不到任何...有人知道吗?[更新]:根据第一个回复,我想我需要重新措辞。想象一下,我正在构建一个图像共享服务,我想让人们自己在图片上标记。图片可以是任何颜色。如何为每张不同的图片选择正确的标签颜色? 最佳答案 我认为这可
我需要计算两个十六进制颜色值之间的差异,因此输出是一个百分比值。我丢弃的第一件事是将十六进制值转换为十进制,因为第一个比最后一个具有更高的权重。第二个选项是计算每个RGB值之间的差异,然后将它们全部相加。但是,0,0,0和30,30,30之间的差异远小于0,0,0和90,0,0。Thisquestion建议使用YUV,但我不知道如何使用它来确定差异。此外,thisotherquestion有一个很好的公式来计算差异并输出RGB值,但它不完全存在。 最佳答案 对于那些只想快速复制/粘贴的人,这里是来自thisrepobyantimat
如何将HSB颜色转换为HSL?Photoshop在其颜色选择器中显示HSB颜色。HSL颜色可以在CSS中使用。我试过这个JS:functionhsb2hsl(h,s,b){return{h:h,s:s,l:b-s/2}}但是hsb2hsl(0,100,50).l==0而不是25更新:我可以在不转换HSB→RGB→HSL的情况下做到这一点吗? 最佳答案 我认为这是最准确的:functionhsv_to_hsl(h,s,v){//bothhsvandhslvaluesarein[0,1]varl=(2-s)*v/2;if(l!=0){i
我有一组颜色,我希望选项可以反转。我有一个切换功能,基本上可以根据数组为元素着色。如果我抛出一个反转变量,它就会反转,但它反转的是全局变量而不是局部变量。varinc_colors=['#000','#333','#888'];//globalinc_colorsfunctiontoggleLegendColors(reverse){varreverse=reverse||false;varcolors=inc_colors;//localcolorsif(reverse)colors.reverse();//reversesinc_colorsarrayaswellascolors.
我有一个小的javascript函数,当单击具有该函数的元素时,它会执行某些操作。我的问题是:我希望在这个函数中为具有此函数onclick的html元素设置字体颜色。但我没有成功。我的代码:functionselecteazaElement(id,stock){document.addtobasket.idOfSelectedItem.value=id;varnumber23=document.addtobasket.number;number23.options.length=0;if(stock>=6)stock=6;for(i=1;i以及我如何使用它:id;?>,stock_2;
是否可以计算渐变中间的颜色?varcolor1='FF0000';varcolor2='00FF00';//50%betweenthetwocolors,shouldreturn'808000'varmiddle=gradient(color1,color2,0.5);我只有两个十六进制字符串,我想要一个作为返回。 最佳答案 这应该有效:它基本上涉及将它们转换为十进制,找到一半,将结果转换回十六进制,然后将它们连接起来。varcolor1='FF0000';varcolor2='00FF00';varratio=0.5;varhex
我在http://www.mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript找到了这个RGB到HSL的脚本.我找不到任何其他体面的小东西。问题是这段代码甚至没有真正起作用。有人知道为什么吗?(我不太懂颜色数学,但也许它会返回互补色?)functionrgbToHsl(r,g,b){r/=255,g/=255,b/=255;varmax=Math.max(r,g,b),min=Math.min(r,g,b);varh,s,l=(max+min)/2
我敢肯定这一定是一个相当简单的问题,但这是一个很难用语言表达的问题。我什至不知道要用谷歌搜索什么。我不是在寻找任何复杂的解决方案。基本上,我在Canvas上画线,我想要根据线的长度使用不同的颜色。通常我只是缩放红色channel(#ff0000*(线长)/(最大线长)),但这个解决方案并不理想。我只是在寻找一个方程式,它可以为彩虹渐变上的某个位置提供#rrggbb值(如果有意义的话)。感谢任何可以提供帮助的人!非常感谢。 最佳答案 既然您使用的是Canvas,那么您可能可以使用HSL颜色空间(如果我错了请纠正我)。这将使代码更简单:
好吧,我想我会把这个放在那里让人群思考。给定一个函数(用javascript编写)期望两个字符串的格式类似于十六进制颜色(ex#FF0000)返回一个十六进制颜色,它是通过的两种颜色的平均值。functionaverageColors(firstColor,secondColor){...returnavgColor;}--编辑--平均值将定义为如果传递的颜色是黄色,第二次传递的颜色是浅紫色,则返回的颜色将是中橙色 最佳答案 我讨厌听起来像破烂不堪的jQuery记录,但是jQuerypluginforthisalready.