如何在 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}

但是,我需要的是 HTML 中常见的 RGB 三色,而不是红色和蓝色。根据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}

在此处输入图片描述

编辑后的图像

在此处输入图片描述

相关内容