CIELab转RGB在网页上呈现的小研究

前几天有个问题是关于「将 CIELab 色彩空间的值,在网页前端显示出来」

其中一个解法是把 CIELab 先转换为 CIEXYZ
再从 CIEXYZ 转为 SRGB

因为个人有研究过 pdf 的档案格式
知道 pdf 可以直接写入 CIELab 的颜色值
刚好现代的浏览器也可以直接预览 pdf
所以想试试看「自己写的转换式」跟「浏览器读取带有 CIELab 颜色的 PDF」呈现的结果是否相同

测试方法为:

产生一个单页的 pdf,将指定的 (L*, a*, b*) 颜色填满整页。用 iframe 在浏览器上显示这个 pdf。将 (L*, a*, b*) 用自己写的转换式换算成 (R, G, B)。建立一个 div 方块,背景色填上刚刚算出的 (R, G, B),并把位置移动到 iframe(pdf) 的中央。比较两者的颜色是否相同。

程式 Demo 如下
https://jsfiddle.net/40cd19rf/

当用 (L*, a*, b*) = (40, 50, 60) 测试,在不同浏览器的结果如下:
(左: Firefox, 中: Chrome, 右: Edge, 作业系统 windows 10)
http://img2.58codes.com/2024/20112943QYC2sIzQpD.png

Firefox 会出现颜色不相同的区块,而 chrome 跟 edge 则看不出颜色差异。虽然 Firefox 的 div 看似比较淡,但截图到绘图软体比较后发现是 pdf 区域颜色比较深的视觉误差。后来储存 pdf 档案,并用 adobe pdf reader 开启,颜色与 div 区块一致。

结论:只有 Firefox 的 pdf 区块颜色与其他人不同,转换式应该是可用的。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章