我的文档中有三个 mdframed 环境。
\begin{mdframed}[backgroundcolor=blue!20]
\begin{mdframed}[backgroundcolor=purple!20]
\begin{mdframed}[backgroundcolor=brown!20]
使用xcolor
包。我想知道如何(如果可能的话)从这些信息中恢复CMKY
颜色的代码?
答案1
您可以使用包\extractcolorspecs
中的宏xcolor
,首先将其模型提取到,\modelcmd
然后将规范提取到\colorcmd
,然后使用\convertcolorspecs
将其转换为另一个规范,比如说cmyk
。
\documentclass{article}
\usepackage{xcolor}
\begin{document}
\extractcolorspecs{brown!20}{\modelcmd}{\colorcmd}
\convertcolorspec{\modelcmd}{\colorcmd}{cmyk}{\colorcmdcmyk}
\colorcmd
\colorcmdcmyk
\end{document}
更新
直接转换:
\documentclass{article}
\usepackage{xcolor}
\newcommand{\convertdirectly}[3][cmyk]{%
\extractcolorspecs{#2}{\modelcmd}{\colorcmd}%
\convertcolorspec{\modelcmd}{\colorcmd}{#1}{#3}%
}
\begin{document}
\convertdirectly{brown!20}{\cmykbrown}
\convertdirectly[hsb]{brown!20}{\hsbbrown}
\convertdirectly[RGB]{brown!20}{\RGBbrown}
cmyk: \cmykbrown
hsb: \hsbbrown
RGB: \RGBbrown
\end{document}