一些颜色相关的算法

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;
}

  

时间: 2024-07-31 07:21:05

一些颜色相关的算法的相关文章

各种与视频编解码以及视频图像处理的应用相关的新技术,新方法,各种软件开发相关的算法,思想。

1. 各种视频压缩标准(MPEG2, MPEG4, H261/2/3/4,X264, T264以及H264(AVC)和HEVC(H265)等的优化,改进,创新. 2. 各种不同平台的(CPU, GPU, DSP, ARM等等)开发,移植优化等, 涉及到的语言包括C, C++, X86汇编,TI DSP汇编,ADI DSP汇编, ARM汇编(armv4/v5/v6/v7 XSCALE WMMX cortex A8等),MMX, SSE, SSE2/3等, 以及目前利用OpenCL来调用GPU实现并

STL之heap相关操作算法

说明:本文仅供学习交流,转载请标明出处,欢迎转载! 堆(heap)是一种非常重要的数据结构(这里我们讨论的是二叉堆),它是一棵满足特定条件的完全二叉树,堆的定义如下: 堆是一棵树完全二叉树,对于该完全二叉树中的每一个结点x,其关键字大于等于(或小于等于)其左右孩子结点,而其左右子树均为一个二叉堆. 在上述的定义中,若堆中父亲结点关键字的值大于等于孩子结点,则称该堆为大顶堆:若堆中父亲结点关键子的值小于等于孩子结点,则称该堆为小顶堆. 由于堆是一棵完全二叉树,所以我们可以很轻易地用一个数组存储堆中

颜色渐变的算法

从CSDN上看到一个颜色渐变的算法,它是把前一个颜色的红蓝绿三色提出来,现去减后一个红蓝绿的颜色值,代码如下: void paint (Graphics g, int x, int y, int w, int h, int colorBegin, int colorEnd) {int r0 = (colorBegin >> 16) & 0xff;int r1 = (colorEnd >> 16) & 0xff;int g0 = (colorBegin >>

[转]一些NSArray,NSDictionary,NSSet相关的算法知识

iOS编程当中的几个集合类:NSArray,NSDictionary,NSSet以及对应的Mutable版本,应该所有人都用过.只是简单使用的话,相信没人会用错,但要做到高效(时间复杂度)精确(业务准确性),还需要了解其中所隐藏的算法知识. 在项目当中使用集合类几乎是不可避免的,集合类的使用场景其实可以进行抽象的归类.大多数时候我们需要将若干个对象(object)暂时保存起来,以备后续的业务逻辑进行操作,「保存和操作」,或者说「存与取」,对应到计算机世界的术语就是读和写.最初保存的时候我们Ins

[BS-11] 关于RGB/ARGB颜色相关知识

关于RGB/ARGB颜色相关知识 众所周知,自然界的颜色都是由红色R.绿色G.蓝色B三元色按不同比例混合而成,每种元色取值范围是0-255.iOS中图片的颜色分为2种:24位和32位. 1. 24位(bit) 24位(bit)颜色是指RGB,每种元色用8bit表示,3*8=24. 通常写法: #ff0000 红色 (ff:15*16’+15*16零次方=255) #00ff00 绿色 #0000ff 蓝色 #000000 黑色 (黑色是世界上最纯的颜色) #ff ff ff 白色  (R255+

自编码器及相关变种算法简介

本文对自编码器(Auto-Encoder)算法及其相关变种算法进行简要介绍,其中包括 Regularized Auto-Encoder.Sparse Auto-Encoder.Denoising Auto-Encoder 和 Contractive Auto-Encoder,重点讨论各算法的基本思想及优化时所需目标函数的构造. 转自:http://blog.csdn.net/pi9nc/article/details/27711441 原文地址:https://www.cnblogs.com/y

CSS3 - 颜色相关

1,颜色之RGBA RGB是一种色彩标准,是由红(R).绿(G).蓝(B)的变化以及相互叠加来得到各式各样的颜色.RGBA是从RGB基础上增加了控制alpha透明度的参数. 语法 color:rgba(R,G,B,A) 以上R.G.B三个参数,正整数值的取值范围为:0 - 255.百分数值的取值范围为:0.0% - 100.0%.超出范围的数值将被截至其最接近的取值极限.并非所有浏览器都支持使用百分数值.A为透明度参数,取值在0~1之间,不可为负值. 代码示例: background-color

数据结构(C语言版)链表相关操作算法的代码实现

这次实现的是带头结点的单链表的初始化.遍历.创建.插入.删除.判断链表是否为空.求链表长度函数,编译环境是vs2013. 其中插入和删除函数中循环的条件目前还不太明白. #include<iostream> using namespace std; typedef int Status; typedef char Elemtype; //定义链表的存储结构,注意这里与算法的定义有一处不同,是定义结构体时就命名Lnode,说明*next的类型只要说是Lnode类型就可以 typedef stru

母函数及相关的算法题

母函数即生成函数,构造这么一个多项式函数g(x),使得x的n次方系数为f(n),是组合数学中尤其是计数方面的一个重要理论和工具. (1+a1x)(1+a2x)(1+a3x)...(1+anx)=1+(a1+a2+a3+...+an)x+(a1a2+a1a3+...+an-1an)x2+...+(a1a2a3*...*an)xn 由此可以看出: 1. x的系数是a1,a2,…an的单个组合的全体.相当于从a1,a2,…an选1个进行组合,然后加在一起 2. x2的系数是a1,a2,…an的两个组合