深耕设计多年的我们,平日里各种玩转 Sketch,吊打 Principle,逐浪 C4D,早已熟知RGB、CMYK 和 HSB / HSV / HSL 等不同的色彩模式,但你想过我们提交给开发爸爸们的色值是怎么计算出来的吗?在计算机领域,开发色值是一种基于 RGB 色彩模式的十六进制颜色编码。我们知道屏幕上看到的任何颜色都是由红、绿、蓝三种最基本的色光叠加形成的,这三种颜色参数的取值范围都是 0~255 。因此 RGB 色彩模式也是所有传统色彩模式里色域空间最为丰富的。

它包含了 255 × 255 × 255 = 16,581,375 种颜色(与此对应,HSB / HSV / HSL 色彩模式只包含了 360 × 100 × 100 = 3,600,000 种颜色),而这 1600 多万种颜色在计算机语言里就以 # + 6 位代码存在,因此这 6 位代码与 RGB 色号有严格的对应关系。6 位代码两两分为 3 组,这 3 组编码分别对应了 RGB 三个参数。此处要注意的是,代码数制是十六进制,而我们平时用的数字是十进制,因此想要把开发色值转译为RGB 色号,只需要把这 3 组两位数编码转换成十进制数字就好了!怎么转呢?下方高能。先讲一个概念,位权。位权是数制中每一个固定位置数码所对应的数值。比如在十进制下,第2位(从右往左数)的位权为 10 ,第 3 位的位权为 100 ,总之第 a 位的位权就等于 10 的 a - 1 次方。什么意思呢?拿最近比较火的 325 举个例子,左边 3(第3位)的位权怎么计算呢?它 = 10^3-1 = 100中间2(第2位)的位权 = 10^2-1 = 10右边5(第1位)的位权 = 10^1-1 = 1(除 0 以外任何数的零次方都为 1 )因此对于 N 进制数,整数部分第 x 位的位权为 N ^ x - 1,理解了这个基础概念,我们就能计算不同进制下的数值啦!还拿 325 来举例。上面的公式只帮我们算出了位权,而这组数码代表的数值还要将位权乘以对应位置的基数,基数是什么呢?就是 3、2、5。所以 325 这组数码的数值= 3×10^3-1+2×10^2-1+5×10^1-1= 300+20+5 = 325感觉好牛逼啊!325 = 325,好像讲了一通废话呢!那是因为我们这是在计算十进制,而325本来就是我们熟知的十进制结果。如果现在告诉你325是一组十六进制代码呢?它在十进制下等于多少?简单,代入上面公式。它的十六进制数值= 3×16^3-1+2×16^2-1+5×16^1-1= 768+32+5=805神奇吧!理解到这一步,来详细说一下十六进制。十六进制一个周期的数码符号有16个,表示为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A代表10,B代表11,C代表12,D代表13,E代表14,F代表15。这也就是我们平时为什么在开发色值代码里看不到什么K啊、S啊、W这些F以后的字母。上面的325因为没有涉及到大于9的数码,所以没有出现字母。我们找一个带字母的真实案例来看看。支付宝logo换色以后的蓝色开发色值为#1778FF(截屏取色,非官方),先把它拆成对应RGB的编码17、78、FF,代入上面公式算出它们在十进制下等值的色号。R值(10)=1×16^2-1+7×16^1-1=16+7=23G值(10)=7×16^2-1+8×16^1-1=112+8=120B值(10)=15×16^2-1+15×16^1-1=240+15=255在色板里切换到RGB模式验证一下,完全一致。很简单有没有!感觉自己通透了有没有!以后跟开发爸爸们说话可以抬起头了有没有!口算基础好的同学,看到一组开发色值就能在心理默算出对应的RGB色号,再根据色彩基础知识,就大概能判断出这是一个偏红or偏绿or偏蓝、偏亮or偏暗的颜色。这个冷知识对你的工作并没有直接的指导意义,但它能使我们成为有趣的人。See?艺术和科学,从来不矛盾。最后留一点小作业,假设 B612 是一组十六进制数码,它在十进制下等于多少呢?

| 往期相关:拟态化设计是下一个设计趋势吗

| 往期相关:设计师要关注的局部数据指标

| 往期相关:设计师要关注的局部数据指标

十六进制编码_十六进制色值的那些秘密相关推荐

  1. java将u开头的是什么编码_十六进制“\u”开头字符串的转码

    有时在JS或JAVA属性文件中,常看到"\u"开头的中文字符串,不能知道其到底是什么字符.现在提供一个转码的方法,将其变成可识别的汉字. 代码如下: import java.io. ...

  2. 什么是十六进制法_十六进制中的abcdef是什么意思

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 十六进制中的abcdef是意思是10.11.12.13.14.15.十六进制要有16个符号,而0-9只有10个符号,只能用ABCD ...

  3. python十六进制运算_十六进制字符串hexstr的计算

    在面向比较底层的编程时,界面和接口常常需要显示十六进制字符串(hexstr).hexstr只包含0-9a-f的字符,本文汇总一些能够得到hexstr的计算方法. hex函数 hex函数是builtin ...

  4. 十六进制解码_快速十六进制编码和解码

    十六进制解码 In 在 Easy String Encryption Using CryptoAPI in C++ I described how to encrypt text and recomm ...

  5. 16进制数组转成10进制 qt_QT 十六进制字符串转化为十六进制编码

    /************************************************* Function: hexStringtoByteArray() Description: 十六进 ...

  6. HxD(十六进制编码处理工具) 1.7中文版

    HxD(十六进制编码处理工具) 1.7中文版 HxD 是一款免费的十六进制编码处理工具,它完全不逊于市面上任何一款付费使用的专业十六进制编辑工具,除了能够快速打开大容量的文件以及基本的十六进制编码处理 ...

  7. Python将形如”\xe4...的十六进制编码字符串恢复为中文

    今天处理的一个文件里面中文都变成了形如"\xe4..."的十六进制编码,其他字符正常. 大致研究了下发现这些编码三个一组表示一个汉字,由于文本中夹杂着正常符号,我决定用正则匹配方式 ...

  8. c# 浮点数十六进制字符串_从C#中包含十六进制值的字符串数组中打印整数值...

    c# 浮点数十六进制字符串 将十六进制字符串数组转换为整数 (Converting array of hexadecimal strings to integers) Let suppose you ...

  9. 十六进制表示_教资信息技术之:十进制(正数)转二进制、八进制、十六进制...

    进制表示:二进制B:八进制O:十进制D:十六进制H 除2取余,倒序排序:除8取余,倒序排序:除16取余,倒序排序:这种方法不做赘述 一.十进制转二进制 45D--101101B 157.6875D-- ...

最新文章

  1. VUE保存页面的数据,VUE页面显示就执行某个函数,VUE页面隐藏就执行某个函数
  2. Qt pro使用sql之类的需要添加的模块
  3. Flutter ------- WebView加载网页
  4. 过滤“清扬男士”Flash广告
  5. 再发 400 个红包,新年快乐!
  6. 【学习笔记】自然数幂和
  7. Springboot+Apollo
  8. 常用的字符串对象方法
  9. 【看别人的,学习】文本增强,再也不怕用户要修改标准界面的字段描述了
  10. ASP.NET的路由系统
  11. php session 共享,同步
  12. c语言随机抽号小程序源代码,使用JS编写的随机抽取号码的小程序
  13. Brocade 6510 交换机清空配置,重新initiator交换机
  14. 数据结构:满二叉树,完全二叉树,非完全二叉树 的区别
  15. 十大低代码开发平台排行榜,低代码开发平台哪个好用?
  16. terraform_Kubernetes初学者的Terraform指南
  17. openCV学习-自动处理图片 视频
  18. Redis学习 - NoSQL简介、redis安装、redis基础知识、数据类型、持久化、订阅发布、主从复制、哨兵模式、缓存击穿和雪崩
  19. 康益明爱崔紫娟-很爱很爱
  20. 小解的C语言笔记:循环中的取余操作 0%0

热门文章

  1. 微信和支付宝中的一些常用方法封装
  2. npm升级package.json依赖包到最新版本号
  3. 洛谷 P1583 魔法照片
  4. Golang 标准库log的实现
  5. 浅谈.Net WebService开发
  6. asp.net mvc 从数据库中读取图片的实现代码
  7. Linux -- userdel
  8. linux安装apache mysql tomcat
  9. DIV的id和class
  10. C++ 异常处理Demo - win32 版