RGB色彩说明和转换算法

原创 2004年09月16日 10:39:00
RGB数值换算
      图片处理时,经常用到 RBG 的数值,它可以用十进制(0-255)或十六进制(00-FF)来表示。一斤等于十六两,就是十六进制。
      十进制的数是利用 0 到 9 十个数码来表示。十六进制是利用 0 到 9 十个数码,再加上 A,B,C,D,E,F 六个拉丁字母来表示。即 A 表示十,F 表示十五。按照这个规定,换算起来就方便了。 
      比如将十进制的 245 换算为十六进制的模式,
            245 / 16 = 15 ... 余数 5
因此十进制的 245, 用十六进制的模式表示,就是 F5 。 
      又比如将十六进制的 EA 换算为十进制的模式,E为14, A为10, 则
            14 x 16 + 10 = 234。
因此十六进制的 EA, 用十进制的模式表示,就是 234 。
      当然用计算器直接换算就更方便了。WINDOWS 就带有这样的计算器。在'开始/程序/附件'里。

-------------------------------------

十六进制数在像素中的实现
   在大多数的程序语言中,甚至HTML,都使用到RGB色彩模式,其利用红、绿、蓝三种颜色组合成某种颜色组成一个像素点。一个RGB色彩,在我们的认识中,是3个字节(byte),每一个字节是RGB色彩中的一个组成部分。注意1 byte = 8 bits,而RGB色彩是24位色彩系统,每一位单独的字节代表十进制数0-255中的某一个值,用十六进制表示就是0-FF。在HTML中,你可以看到象这样的标签,< font color="#FF0000" >,那么这个值在RGB色彩中就代表了红色。注意它用六位数字来表示,RGB色彩不可以用超过六位数字的长度来表示,因为它只有三个字节。在RGB色彩中,“#FF12AC”,第一第二个数字“FF”,该像素表示为为纯红色,这是最高数了,因为在字节中没有再超过FF的数值了;接下来的两个数字“12”,表现为某种很亮的绿色,这个数值相当的低,最后两位数字“AC”,在该像素中表现为很强亮度的蓝色,这个数值比较高。最后,这个像素的组合色彩显示为粉红色。
   请注意绝大多数的编程语言,包括JavaScript,十六进制必须用“0x”来表示,这可以使计算机不至于把十进制和十六进制混淆起来。因此早先在JavaScript中使用RGB色彩时,上面的数值应写成0xFF12AC,举个例子,我们可以在JavaScript中定义背景颜色为那种粉红色:
document.bgColor = 0xFF12AC;
   使用RGB色彩的红、绿、蓝各自的256种深浅变化来组合调变颜色,我们可以实现16万种色彩!
   色彩渐变
   现在我们明白了色彩和像素是如何来工作的,我们就要说上正题,倒底字符的渐变怎么来实现呢?
   渐变是指两种不同的颜色,分别作为起始色和终结色,找出它们需要多少步色彩增量变化才可从起始颜色变成最终颜色。它可用以下公式来表示:
(secondcolor - firstcolor) / number_of_steps;
   “secondcolor”即指最终指定颜色,“firstcolor”就是起始的颜色。变量“number_of_steps”指所要渐变字符的长度,我们用这个变量来确定像素中的每个字符有多少增量变化,如果我们能知道字符间增量的话,下面这行语句就是我们所需要的:
(secondcolor - firstcolor) / string.length;
   开始渐变
   虽然上面的概念很简单,但我们需要把它用到实际中去。我们需要在由红、绿、蓝所组成的各种颜色中实现渐变,如果我们仅仅只是减去红和蓝并使用某些数值来划分它们,那么色彩渐变是不会正确的依照色谱的物理原理来工作的。我们需要某种漂亮的过渡结果。那么,我们必须从RGB颜色中分开红、绿、蓝三种原色,并单独的对某一种主色调进行计算。
   你可能会疑惑你倒底怎么去做这件事!这中间包含了一种更先进的方法-位屏蔽。位屏蔽将艺术化的取走我们不再需要的某些色块。

---------------------------------------------------

以上皆为引文,输入相应的值直接进行计算:

十六进制(Hex):
十进制(Dec):
百分比(Per):

从RGB色转为灰度色算法

一、基础   对于彩色转灰度,有一个很著名的心理学公式:                           Gray = R*0.299 + G*0.587 + B*0.114 二、整数算法...
  • xdrt81y
  • xdrt81y
  • 2012年12月13日 11:37
  • 54493

图像去色算法

先上图看一些算法效果                                                                        上图中从左到右依次是...
  • xingyanxiao
  • xingyanxiao
  • 2015年08月28日 10:06
  • 1908

拾色器源代码

  • 2014年01月24日 10:28
  • 12KB
  • 下载

真彩色转256色算法

位图常用的一种压缩方法。从位图图片中选择最有代表性的若干种颜色(通常不超过256种)编制成颜色表,然后将图片中原有颜色用颜色表的索引来表示。 这样原图片可以被大幅度有损压缩。适合于压缩网页图形等颜色...
  • u014530704
  • u014530704
  • 2017年08月10日 11:07
  • 474

数字图像处理之24位真彩色转256色调色边图

真彩图即RGB图0 0转256色调色板图据我查得,常用的算法有     1)流行色算法:     对图像中所有像素点的RGB值进行统计,找出出现次数最多的256种颜色作为调色板的颜色。然后将原图中的各...
  • Geng19930909
  • Geng19930909
  • 2013年12月24日 00:15
  • 1354

颜色模型程序,用于处理RGB到HIS的转换

  • 2009年12月20日 16:40
  • 1.83MB
  • 下载

颜色空间RGB与 色调、饱和度、亮度(ESL)转换的完整C语言算法

2013-02-14 02:06匿名 | 分类:C/C++ | 浏览2402次 在WINDOWS颜色编辑的对话框里面右下方有两列,6个编辑框,分别显示色调(E)、饱和度(S)、亮度(L)和RGB颜色...
  • oMingZi12345678
  • oMingZi12345678
  • 2014年12月25日 18:29
  • 3546

调色板的原理与显示模式

注:本文摘自csdn blog: 调色板只有图片的颜色小于等于256色的时候才有,16位高彩和24位32位真彩是没有调色板的.                                  ...
  • you_shou
  • you_shou
  • 2016年08月29日 11:09
  • 671

图像处理(二十三)基于调色板的图像Recoloring-Siggraph 2015

1、自动调色板颜色选择算法 这一部分,paper的创新点在如何对图像像素点进行快速聚类? 通过一种改进的k均值算法,进行聚类,paper默认选择k值为5,每个聚类中心颜色就是调色板颜色Ci。这个就像g...
  • hjimce
  • hjimce
  • 2015年10月18日 11:01
  • 3268

颜色值的几种写法,长度值(px(像素)、em、% 百分比)

1颜色值 在网页中的颜色设置是非常重要,有字体颜色(color)、背景颜色(background-color)、边框颜色(border)等,设置颜色的方法也有很多种: 1、英文命令...
  • qq_18407565
  • qq_18407565
  • 2017年04月19日 01:26
  • 935
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RGB色彩说明和转换算法
举报原因:
原因补充:

(最多只允许输入30个字)