一些颜色相关的算法

Posted luoeeyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一些颜色相关的算法相关的知识,希望对你有一定的参考价值。

 

RBG转灰度

//rgba(grey,grey,grey,1)
function rgb2Grey(r,g,b)
{
	var grey=Math.round((r*299 + g*587 + b*114 + 500) / 1000)
	return grey
}

 

判断两种颜色相似程度

//rbg
function isSimilarColorRBG(r1, g1, b1, r2, g2, b2, offset)
{
	if (Math.sqrt((r1 - r2) * (r1 - r2) + (g1 - g2) * (g1 - g2) + (b1 - b2) * (b1 - b2)) < offset)
	{
		return true;
	}
	else
	{
		return false;
	}
}

//hex
function isSimilarColorHEX(sHexColorA, sHexColorB, nOffset)
{
	this.offsetNum = Math.abs(nOffset);
	this.offsetNum > 255 ? this.offsetNum = this.offsetNum - 256 : "";
	var arrNumA = [parseInt(sHexColorA.substring(0, 2), 16),
		parseInt(sHexColorA.substring(2, 4), 16),
		parseInt(sHexColorA.substring(4, 6), 16)
	];
	var arrNumB = [parseInt(sHexColorB.substring(0, 2), 16),
		parseInt(sHexColorB.substring(2, 4), 16),
		parseInt(sHexColorB.substring(4, 6), 16)
	];
	for (var i = 0; i < arrNumA.length; i++)
	{
		if (Math.abs(arrNumA[i] - arrNumB[i]) > this.offsetNum)
		{
			return false;//不相似
		};
	}
	return true;//相似
}

  

 

RGB转HEX

//rgbToHex("rbg(r,g,b)")

function rgbToHex(rgb)
{
	var color = rgb.toString().match(/\d+/g); 
	var hex = "#";
	for (var i = 0; i < 3; i++)
	{
		hex += ("0" + Number(color[i]).toString(16)).slice(-2);
	}
	return hex;
}

  

 

以上是关于一些颜色相关的算法的主要内容,如果未能解决你的问题,请参考以下文章

在片段中设置文本颜色

AlertDialog 更改片段中的背景颜色 [重复]

Jekyll 偏移代码片段高亮的初始行

数据挖掘2022年2023届秋招Kanaries雾角科技算法岗 笔试题

炫酷 CSS 背景效果的 10 个代码片段

有没有办法以编程方式使用kotlin更改片段中的文本颜色?