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

Самый быстрый способ исправить это — заменить dvipsnamesна svgnames.


Комментарий percusse примерно правильный. Фактическая проблема в том, что RoyalBluein dvipsnamesопределяется с помощьюCMYKмодель. В то время как мы ожидаем линейной интерполяции при смешивании цветов,CMYKМодель обрабатывается в соответствии со стандартом PDF следующим образом:

  • TheС,М, иИкомпоненты должны быть преобразованы в их взаимодополняющиер,г, иБкомпоненты обычным способом. Предыдущие формулы должны применяться кРГБЗначения цвета. Результаты должны быть преобразованы обратно вС,М, иИ.
  • ДляКкомпонент, результатом будетКкомпонентС бдляОттенок,Насыщенность, иЦветрежимы смешивания; это должно бытьКкомпонентС сдляСветимостьрежим смешивания.

(С б= цвет фона;С с= исходный цвет)

Это показывает, что в общем случае смешивание, включающееCMYKникогда не бывает линейным, если толькоКкомпоненты те же самые.

Связанный контент