TikZ:褪色时的奇怪行为

TikZ:褪色时的奇怪行为

我有一个矩形填充域,需要在向左和向下移动时淡出。我在它们相遇的地方遇到了淡出问题。这是我的 MWE:

\documentclass[10pt]{standalone}

\usepackage{tikz}
\usetikzlibrary{fadings}

\begin{document}
\begin{tikzpicture}

\fill[red] (1,1) rectangle (2,2);
\fill[red,path fading=west] (1,1) -- (1,2) -- (0,2) -- (0,0) -- (1,1); 
\fill[red,path fading=south] (1,1) -- (0,0) -- (2,0) -- (2,1) -- (1,1); 

\end{tikzpicture}
\end{document}

输出为:

在此处输入图片描述

似乎有两个问题:

  1. 在对角线附近,褪色似乎不一致(比垂直或水平移动远离对角线时红色更深)。
  2. 有一条非常细的白色对角线,见下图(放大)。

在此处输入图片描述

我怎样才能摆脱或解决这些问题?

答案1

这绝不是一个完整的答案,而是一些关于如何改善某些查看器的输出的建议。一个建议是使用剪辑,另一个建议是更改左下象限的淡入淡出。

\documentclass[10pt]{standalone}

\usepackage{tikz}
\usetikzlibrary{fadings}

\begin{document}
\begin{tikzpicture}
\fill[red] (1,1) rectangle (2,2);
\begin{scope}
\clip (1,1) |- (0,2) -- (0,0) -- cycle; 
\fill[red,path fading=west] (0,0) rectangle (1,2);
\end{scope}
\begin{scope}
\clip (1,1) -- (0,0) -| (2,1) -- cycle; 
\fill[red,path fading=south] (0,0) rectangle (2,1);
\end{scope}
\end{tikzpicture}


\tikzfading[name=fade out,inner color=transparent!0,outer color=transparent!100]
\begin{tikzpicture}
\fill[red] (1,1) rectangle (2,2);
\begin{scope}
\clip (0,1) rectangle (1,2); 
\fill[red,path fading=west] (0,0) rectangle (1,2);
\end{scope}
\begin{scope}
\clip (1,0)  rectangle (2,1); 
\fill[red,path fading=south] (0,0) rectangle (2,1);
\end{scope}
\begin{scope}
\clip (0,0)  rectangle (1,1); 
\fill[red,path fading=fade out] (0,0) rectangle (2,2);
\end{scope}
\end{tikzpicture}
\end{document}

当我在 MacOS 上使用预览放大第二张图片时,我得到了

在此处输入图片描述

然而,在不同的缩放级别下,会出现一些非常微弱的白线

在此处输入图片描述

讽刺的是,这些是 Acrobat 阅读器中相同放大倍数(300%)下的红线。

在此处输入图片描述

pgf 手册在各处提到了这些查看器问题。

我建议你不要过早接受这个答案。也许其他人有更完整甚至更真实的解决方案。

相关内容