TikZ:將顏色與白色混合並設定白色背景的不透明度會產生不同的結果

TikZ:將顏色與白色混合並設定白色背景的不透明度會產生不同的結果

我注意到,對我來說,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

修復它的最快方法是替換dvipsnamessvgnames.


打擊樂的評論大致正確。實際問題是,RoyalBlueindvipsnames是使用定義的CMYK模型。雖然我們期望顏色混合中的線性插值,CMYK根據 PDF 標準,模型透過以下方式處理:

  • C,中號, 和組件應轉換為其互補的,G, 和組件以通常的方式。上述公式適用於RGB顏色值。結果應轉換回C,中號, 和
  • 為了K組件,結果應為K的組成部分Cb為了色調,飽和, 和顏色混合模式;它將是K的組成部分CS為了亮度混合模式。

Cb= 背景顏色;CS= 來源顏色)

這表明,一般來說,混合涉及CMYK永遠不是線性的,除非K組件是相同的。

相關內容