
我想淡化左側和右側的一些文字。我希望褪色在視覺上:
- 進步
- 完成(即:當淡入淡出結束時,文字變得不可見)
我沒有找到任何這樣的例子。
我將用 5 個例子來說明我的嘗試。我的淡入淡出是從右到左,並在文字的左三分之一處結束。
在文字 A 和 B 上,我使用了白色漸層。在文字 C、D、E 上,我使用藍色漸層。
我測試了兩種策略:
- 使用 tikzfading(範例 A)。但我的文字並沒有變得完全不可見。褪色並不「完全」。
- 繪製多個微小的垂直條紋。我不喜歡這個方法,但結果更符合我的期望。但是當我列印文件或放大時,我可以看到條紋:-(
我怎麼能像B(或C)那樣完全褪色,但沒有條紋?
\documentclass[tikz]{standalone}
\usetikzlibrary{fadings}
\tikzfading[name=fade example,left color=transparent!0,right color=transparent!100]
\begin{document}
{
\begin{tikzpicture}
\draw((2,4) node[fill=white!80, text=black] {AAAAAAAAAAAAAAAAAAAA} ;
\filldraw [draw=none, white, path fading=fade example] (1,3.5) rectangle (3,4.5);
\end{tikzpicture}
\begin{tikzpicture}
\draw((1,0.5) node[fill=white!80, text=black] {BBBBBBBBBBBBBBBBBBBBB} ;
\foreach \x in {0,0.01,...,2.0}
\filldraw [draw=none, white, opacity=\x/2.0] (2.0 - \x, 0) rectangle (1.96-\x, 1);
\end{tikzpicture}
\begin{tikzpicture}
\draw((1,0.5) node[fill=white!80, text=black] {CCCCCCCCCCCCCCCCCCCCCC} ;
\foreach \x in {0,0.01,...,2.0}
\filldraw [draw=none, blue, opacity=\x/2.0] (2.0 - \x, 0) rectangle (1.96-\x, 1);
\end{tikzpicture}
\begin{tikzpicture}
\draw((1,0.5) node[fill=white!80, text=black] {DDDDDDDDDDDDDDDDDDDDDDD} ;
\foreach \x in {0,0.001,...,2.0}
\filldraw [draw=none, blue, opacity=\x/2.0] (1.999 - \x, 0) rectangle (2.0-\x, 1);
\end{tikzpicture}
\begin{tikzpicture}
\draw((1,0.5) node[fill=white!80, text=black] {EEEEEEEEEEEEEEEEEEEEEEEE} ;
\foreach \x in {0,0.001,...,2.0}
\filldraw [draw=none, blue, opacity=\x/2.0] (1.999 - \x, 0) rectangle (2.001-\x, 1);
\end{tikzpicture}
}
\end{document}
答案1
褪色做變得不可見,但只是在最後。問題在於,靠近褪色端的褪色不夠嚴重。您可以設置middle color=transparent!50
,這將生成您的原始圖像:
設定middle color=transparent!10
淡入淡出前半段從 0% 到 10%,後半段從 10% 到 100%,從而產生
如果你設定middle color=transparent!2
你會得到
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fadings}
\tikzfading[name=fade example,left color=transparent!0,right color=transparent!100,middle color=transparent!2]
\begin{document}
\begin{tikzpicture}
\draw((2,4) node[fill=white, text=black] {AAAAAAAAAAAAAAAAAAAA} ;
\filldraw [draw=none, white, path fading=fade example] (1,3.5) rectangle (3,4.5);
\end{tikzpicture}
\end{document}
答案2
這是一個解決方案:
\documentclass[tikz]{standalone}
\usetikzlibrary{fadings}
\tikzfading[name=fade example,left color=transparent!0,right color=transparent!0,middle color=transparent!100]
\begin{document}
\begin{tikzpicture}
\node[draw,fill=white!80,text=black] (my text) {AAAAAAAAA} ;
\filldraw [draw=none, white, path fading=fade example] (my text.south west) rectangle (my text.north east);
\end{tikzpicture}
\end{document}
注意:褪色是完全的(查看邊框)但文字仍然可見,因為它沒有一直到達邊框。