将颜色波长转换为 rgb (xcolor)

将颜色波长转换为 rgb (xcolor)

我有以下颜色:

\definecolor{SEviolet}{wave}{377}

这是波长为 377nm 的紫色。如何将该值转换为 rgb?

xcolor该包在第 6.3.12 节中讨论了wave定义颜色的一些转换。但我发现两个主要困难:

  1. 我不确定我是否应该手动进行计算,或者是否有更好的方法去做吧。
  2. 这些方程式针对 380 nm 以上的波长的转换而定义,我的颜色是 377。

答案1

至 1.是的,有。我们可以将颜色从颜色模型转换hsb为颜色模型,并通过命令rgb列出颜色规范\extractcolorspecxcolor包裹。

至 2。是的,亮度有细微差别(hsb),转换后,红色和蓝色有细微差别(rgb),请看下面例子的前半部分。

我附上了一个带有波浪颜色377、、和其预览的示例。380400600

\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}

姆韦

相关内容