
Eu gostaria de esmaecer algum texto, à esquerda e à direita. Quero que o desbotamento seja visualmente ambos:
- progressivo
- completo (ou seja: quando o esmaecimento termina, o texto fica invisível)
Não encontrei nenhum exemplo disso.
Vou ilustrar o que tentei com 5 exemplos. Meu esmaecimento é da direita para a esquerda e termina no terço esquerdo do texto.
Nos textos A e B, utilizo um desbotamento branco. Nos textos C, D, E, utilizo um desbotamento azul.
Testei 2 estratégias:
- Usando tikzfading (exemplo A). Mas meu texto não fica completamente invisível. O desbotamento não é “completo”.
- Desenhando várias pequenas listras verticais. Não gosto do método, mas o resultado é mais o que espero. Mas quando imprimo o documento, ou quando amplio, consigo ver as listras :-(
Como posso conseguir um desbotamento completo como em B (ou C), mas sem as listras?
\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}
Responder1
O desbotamentofaztornar-se invisível, mas apenas no final. A questão é que o desbotamento não é suficientemente grave perto do final desbotado. Você pode definir middle color=transparent!50
o que produzirá sua imagem original:
A configuração middle color=transparent!10
desaparece de 0% a 10% na primeira metade, de 10% a 100% na segunda metade, o que produz
Se você definir middle color=transparent!2
você obtém
\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}
Responder2
Aqui está uma solução:
\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}
Nota: o desbotamento écompleto(veja as bordas), mas o texto permanece visível porque não vai até as bordas.