
我注意到,對我來說,25% 的不透明度和白色背景與將 75% 的白色混合到顏色中會產生不同的結果。為什麼會這樣,以及不具有不透明度但具有相同顏色(至少對於白色背景)的正確方法是什麼。
這裡有一個 MWE:
\documentclass[xcolor=dvipsnames]{article}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[ black!25!white,fill=RoyalBlue!25!white] (0.0,0) circle (0.7cm);
\draw[opacity=0.25, fill=RoyalBlue] (3,0) circle (0.7cm);
\end{tikzpicture}
\end{document}
答案1
修復它的最快方法是替換dvipsnames
為svgnames
.
打擊樂的評論大致正確。實際問題是,RoyalBlue
indvipsnames
是使用定義的CMYK模型。雖然我們期望顏色混合中的線性插值,CMYK根據 PDF 標準,模型透過以下方式處理:
- 這C,中號, 和是組件應轉換為其互補的右,G, 和乙組件以通常的方式。上述公式適用於RGB顏色值。結果應轉換回C,中號, 和是。
- 為了K組件,結果應為K的組成部分Cb為了色調,飽和, 和顏色混合模式;它將是K的組成部分CS為了亮度混合模式。
(Cb= 背景顏色;CS= 來源顏色)
這表明,一般來說,混合涉及CMYK永遠不是線性的,除非K組件是相同的。