上一篇简单的带过了一个"假想中完美,拥有所有色彩的空间"
这个空间,叫做PCS, Profile connection space ,通常是使用CIE Lab或CIE XYZ
(在此也跟之前分享的板友道个歉,的确有些程式是用Lab当计算中介...)
实际上,萤幕ICC到系统,视觉化的流程应该是:
┌─────┐ ╔═══════╗
│ 我是萤幕 │ 萤幕A的 icc profile ║ 神祕的PCS ║
│ A │ ←(告诉PCS萤幕偏差多少) ← ║作业系统大魔王║
└─────┘ ╚═══════╝
所以说,透过icc,作业系统就知道该给给怎样的讯号,让萤幕显示出正确的颜色
那档案呢?
稍微理解一下,电脑里的色彩,都是数位化,用101101011110...来储存
进步一点,例如常看到的红色(255 0 0) 蓝色(0 0 255) 绿色(0 255 0)
这种三原色rgb分开表示,数值从0~255共256个变化的表示方式,
是基于2的8次方,8bit 八位元储存方式,也是最常见的萤幕色彩表现能力
(一般的显示卡与彩色萤幕,都色彩侷限在这个范围)
看起来很少,但实际上1,677,7216一千六百多万种颜色已足以应付一般日常使用
正红色(255 0 0)这组数值,虽然我们知道他应该是红色
但他并没有告诉我们"到底是怎样的红色"阿!
举例,像各家的颜料都出名叫做"正红色"的颜色,
但因为厂牌不同,实际画出来颜色可能不同
所以从"数值"要转换到"现实色彩",势必要有一个额外定义!
这时候,就该大家常常听到的sRGB,AdobeRGB出场了~~
不同于给装置使用的icc,定义的是装置如萤幕等等的颜色如何和PCS转换
sRGB,AdobeRGB这类的icc,定义的是档案的数值如何和PCS转换,
或较精确的说,他定义了档案的"色彩空间"范围.
意思就是,在无止尽好多好多颜色中,我们先想好一个范围,一个目标
"今天整间超市开放大家免费拿,只要装的进去超市购物袋不满出来就可以带走"
然后最后来秤重,猜看看大家拿的东西重量多少?
虽然说整间超市商品上千上万件,但基本上购物袋大小有限,
活动前我们就能找出最轻的商品装法和最重的商品装法,最后虽然大家拿的商品种类数量
不一,但绝对不脱我们之前找好最极端的最轻和最重两个重量.
今天sRGB,AdobeRGB色域也是一样,
定义了色域大小,就是塑胶袋多大,里面的颜色,商品重量,也就不脱一个范围内
那我们就能在进一步,针对这个范围的极限,最重或最轻,来做好定义
"最重的这个重量,我们叫100分" "最轻的这个重量,我们叫做0分"
这样每个顾客,一定是0~100这个区间内.
回到上面说的红色(255 0 0) 绿色(0 255 0) 蓝色(0 0 255)
如果我们选好的一个色域,购物袋大小,就会知道最红 最绿 最蓝
能够到多红 多绿 多蓝!
(最不红绿蓝应该不用说...就没有,黑的)
所以代表我们就在这个色域中,把最红到最不红,切割成256的细分程度
同理,绿色和蓝色也是如此,
最后,三种颜色搭在一起,完成了对应到这个色域中,一千六百多万种的颜色该是什么样子.
好了.我们现在知道,档案里面颜色的数值,在现实世界里到底是怎样的颜色了:
色域ICC到系统,视觉化的流程应该是:
╔═══════╗ ∕ ̄ ̄ ̄ ̄ ̄ ̄ ̄∕
║ 神祕的PCS ║ 档案的 icc profile ∕ 我是一张图档 ∕
║作业系统大魔王║ ←(告诉PCS档案定义的色域)← ∕﹏﹏﹏﹏﹏﹏﹏∕
╚═══════╝
合并上一篇的萤幕部分:
┌─────┐ ╔═══════╗
│ 我是萤幕 │ 萤幕A的 icc profile ║ 神祕的PCS ║
│ A │ ←(告诉PCS萤幕偏差多少) ← ║作业系统大魔王║
└─────┘ ╚═══════╝
这就基本完成了,色彩管理标准化的两端,档案 到 系统 到 萤幕.
之后细节,在补吧....