我有以下颜色:
\definecolor{SEviolet}{wave}{377}
这是波长为 377nm 的紫色。如何将该值转换为 rgb?
这xcolor
该包在第 6.3.12 节中讨论了wave
定义颜色的一些转换。但我发现两个主要困难:
- 我不确定我是否应该手动进行计算,或者是否有更好的方法去做吧。
- 这些方程式针对 380 nm 以上的波长的转换而定义,我的颜色是 377。
答案1
至 1.是的,有。我们可以将颜色从颜色模型转换hsb
为颜色模型,并通过命令rgb
列出颜色规范\extractcolorspec
xcolor
包裹。
至 2。是的,亮度有细微差别(hsb
),转换后,红色和蓝色有细微差别(rgb
),请看下面例子的前半部分。
我附上了一个带有波浪颜色377
、、和其预览的示例。380
400
600
\documentclass[a4paper]{article}
\pagestyle{empty}
\usepackage{xcolor}
\usepackage{pgffor}
\begin{document}\bfseries
\foreach \mcolor in {377,380,400,600} {
\definecolor{SEviolet}{wave}{\mcolor}
\colorlet{malviolet}[rgb]{SEviolet}% from hsb->rgb
\color{SEviolet} Hello World!\par
\extractcolorspec{SEviolet}{\malcolor}
Color specification \mcolor\ (hsb): \malcolor\par
\extractcolorspec{malviolet}{\malcolor}
Color specification \mcolor\ (rgb): \malcolor\par\medskip
}% End of \foreach...
\end{document}