TikZ: Misturar cor com branco e definir opacidade com fundo branco produz resultados diferentes

TikZ: Misturar cor com branco e definir opacidade com fundo branco produz resultados diferentes

Percebi que 25% de opacidade com fundo branco produz um resultado diferente para mim do que misturar 75% de branco na cor. Por que isso acontece e qual seria a maneira correta de não ter opacidade, mas sim a cor idêntica (pelo menos para um fundo branco).

Aqui um 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}

imagem resultante

Responder1

A maneira mais rápida de corrigir isso é substituir dvipsnamespor svgnames.


O comentário de percusse está quase certo. O problema real é que RoyalBluein dvipsnamesé definido usandoCMYKmodelo. Embora esperemos interpolação linear na mistura de cores,CMYKO modelo é tratado, de acordo com o padrão PDF, da seguinte forma:

  • OC,M, eScomponentes devem ser convertidos em seus complementaresR,G, eBcomponentes da maneira usual. As fórmulas anteriores serão aplicadas aoRGBvalores de cores. Os resultados serão convertidos de volta paraC,M, eS.
  • Para oKcomponente, o resultado será oKcomponente deCbpara oMatiz,Saturação, eCormodos de mesclagem; será oKcomponente deCspara oLuminosidademodo de mistura.

(Cb= cor de fundo;Cs= cor de origem)

Isto mostra que, em geral, uma mistura envolvendoCMYKnunca é linear, a menos queKcomponentes são iguais.

informação relacionada