
Ich möchte Farbverläufe in TikZ für ein Paper über Farbverläufe modellieren. Diese sind ziemlich speziell, sodass ich mich nicht allein auf einen TikZ-Farbton verlassen kann. Daher möchte ich den Farbverlauf mithilfe aufeinanderfolgender, in TikZ schattierter Rechtecke modellieren, wie folgt:
\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}
Anstelle von Rot und Blau brauche ich jedoch ein RGB-Farbtripel, wie es in HTML üblich ist. Gemäß xcolor
Handbuch 2.3.3 habe ich herausgefunden
\shade[left color=rgb,300:red,51;green,41;blue,5,right color=rgb,300:red,50;green,38;blue,0]
könnte funktionieren, aber ich bekomme! Package xcolor Error: Undefined color `rgb'.
Es ist machbar, aber wirklich umständlich, alle Farben, die ich brauche, vorab zu generieren. Ist es möglich, xcolor
direkte Farben in einem TikZ-Farbton zu verwenden? Alle Beispiele, die ich gefunden habe, verwenden entweder Definecolor (auch für HTML-Farben) oder benannte Farben.
Alle Hinweise sind willkommen.
Antwort1
Es ist nicht so schwierig, Tastenkombinationen für solche wiederkehrenden Befehle zu erstellen. Und Sie können dieselbe Farbe erstellen und neu erstellen. Hier ist ein schnelles Modell. Sie können die Einstellung abrufen, die Sie mit der Push-RGB-Syntax erreichen möchten, das Argument der Zuweisung auslesen und in einen temporären Farbnamen einfügen. Verwenden Sie es dann für die Einstellung dieser Taste.
Ich weiß nicht, wie oft Sie dies verwenden werden und wofür, also kann ich nichts versprechen.
BEARBEITEN
\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}
Das bearbeitete Bild