Как указать прямой цвет на картинке tikz

Как указать прямой цвет на картинке tikz

Я хочу смоделировать градиенты в TikZ для статьи, посвященной цветовым градиентам. Они довольно специфичны, поэтому нельзя полагаться только на оттенок TikZ. Таким образом, я хочу смоделировать градиент с помощью последовательных затененных прямоугольников TikZ, как здесь:

\documentclass{article}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{tikz}
\begin{document}
\begin{figure}[!h]
\begin{tikzpicture}\shade[left color=red,right color=gray]
  (1.211,0.000) rectangle (0.211,1.000);
\end{tikzpicture}
\end{figure}
\end{document}

Однако вместо красного и синего мне нужен триплет цветов RGB, как это принято в HTML. Согласно xcolorруководству 2.3.3, я решил

\shade[left color=rgb,300:red,51;green,41;blue,5,right color=rgb,300:red,50;green,38;blue,0]

может, и справлюсь, но я получаю! Package xcolor Error: Undefined color `rgb'.

Это осуществимо, но очень неудобно предварительно генерировать все нужные мне цвета. Возможно ли использовать xcolorпрямые цвета в оттенке TikZ? все примеры, которые я встречал, используют либо definecolor (даже для цветов HTML), либо именованные цвета.

Любые указания приветствуются.

решение1

Не так уж сложно создать сочетания клавиш для таких повторяющихся команд. И вы можете создавать и воссоздавать один и тот же цвет, вот быстрый макет; вы можете получить настройку, которую вы пытаетесь применить к синтаксису rgb, и считать аргумент назначения и поместить его во временное имя цвета. Затем используйте его для настройки этой клавиши.

Я не знаю, как часто вы будете этим пользоваться и для чего, поэтому ничего не обещаю.

РЕДАКТИРОВАТЬ

\documentclass[tikz]{standalone}
\tikzset{xcolor/.code args={#1=#2}{
     \definecolor{mytemp}{rgb}{#2}
     \tikzset{#1=mytemp}
  }
}
\begin{document}
\begin{tikzpicture}
\shade[xcolor={left color={0.5,0.7,0.1}},xcolor={right color={0.7,0.4,0.8}}] 
(1.211,0.000) rectangle (0.211,1.000);
\shade[xcolor={right color={0.5,0.7,0.1}},xcolor={left color={0.7,0.4,0.8}}] 
(0.211,0.000) rectangle (-1.211,1.000);  
\end{tikzpicture}
\end{document}

введите описание изображения здесь

отредактированное изображение

введите описание изображения здесь

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