使用 PGF/TikZ 可以产生衰落,例如
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fadings}
\begin{document}
\begin{tikzpicture}
\fill[green,path fading=south] (90:4) -- (210:4) -- (-30:4) -- cycle;
\end{tikzpicture}
\end{document}
现在我想将此图片旋转 120°,以便淡入淡出从左角开始。TikZ 有一个fading angle
键,所以我认为以下应该有效:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fadings}
\begin{document}
\begin{tikzpicture}
\fill[green,path fading=south, fading angle=120] (90:4) -- (210:4) -- (-30:4) -- cycle;
\end{tikzpicture}
\end{document}
令我惊讶的是,这产生了以下图片:
请注意,褪色不会立即从角落开始,也不会一直褪色为白色(上顶点的饱和度为 25%,右边的顶点的饱和度为 33%)。
这是怎么回事?我怎样才能生成正确的旋转图片?
答案1
关于淡入淡出,需要记住的是,它们的工作原理是在对象后面放置一个矩形,使长方形然后剪切到对象。如果你用淡化一个矩形,fade angle=120
你会看到它确实变成了白色,但只在矩形的右上角,而三角形看不到。
让淡入淡出正确旋转的一种方法是应用画布变换。当然,计算出所有坐标可能会有点棘手!但正如您在下面看到的,这确实有效。
下面的图片是:
- 使用坐标变换旋转的三角形(这是第一个,所以我不必担心旋转的原点!)所以特殊选项是
transform canvas={rotate=120},path fading=south
。 - 放置的结果只是
rotate=120
:即三角形旋转了,但是褪色却没有旋转。 - 原本的:
path fading=south
- 旋转衰落:
path fading=south,fading angle=120
- 矩形版本,显示褪色做淡化为白色