
Eu tenho uma imagem de fundo sobre a qual preciso mostrar algum texto. Quero esmaecer o texto usando uma imagem sem afetar a imagem de fundo. Pelo que entendi, isso deveria ser possível, dado o que a Seção 115.3 "Especificando um Fading" no TikO Manual Z e PGF afirma:
Você cria uma imagem normal, que pode até conter texto, imagem e sombreados. Então, você cria um desbotamento baseado nesta imagem. Para isso, é analisada a luminosidade de cada pixel da imagem (quanto mais brilhante o pixel, maior a luminosidade – um pixel preto tem luminosidade 0, um pixel branco tem luminosidade 1, um pixel cinza tem algum valor intermediário assim como um pixel vermelho ). Então, quando o desvanecimento é utilizado, a luminosidade do pixel determina a opacidade do desvanecimento naquela posição. As posições no fade onde a imagem era preta ficarão completamente transparentes, as posições onde a imagem era branca serão completamente opacas. As posições que não foram pintadas na imagem são sempre completamente transparentes.
Aqui está um MWE que faznãoainda faço o que eu quero:
\documentclass{article}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{tikz}
\begin{document}
\pgfdeclarefading{myfading}{fadpix-jpg-rsz}
\begin{tikzpicture}[remember picture, overlay]
\node[inner sep=0pt] at (current page.center) {%
\includegraphics[scale=0.5]{Utah_Teapot_mr_maya.jpg}
};%
\begin{scope}[shift={(current page.center)}]
\pgfsetfading{myfading}{\pgftransformshift{\pgfpoint{1cm}{1cm}}} % causes text to disappear
\node[white,text width=11.0cm] at (0.0cm,0.0cm) {\lipsum[1-2]};
\end{scope}
\end{tikzpicture}
\end{document}
estou usando oBule de chá de Utahcomo uma imagem de fundo de amostra elábiospara gerar algum texto de exemplo. A imagem fadpix-jpg-rsz
é a seguinte:
Para ser claro: quero que o texto fique desbotado usando esta imagem, mas a imagem de fundo (o bule) não seja afetada. Atualmente, a linha com \pgfsetfading
faz com que todo o texto desapareça. Quando eu comento, o texto fica visível.
O que estou fazendo de errado? O que eu quero pode ser feito?
(Observação: usei o article
em vez da standalone
classe porque esta continuava me fornecendo documentos vazios de duas páginas com uma segunda página muito longa. Quando usei a preview
opção, o documento Skim
travou e o MacOS Preview
mostrou arquivos vazios.)
Responder1
Bem, primeiro você realmente precisa usar sua imagem desbotada e não apenas definir o texto fadpix-jpg-rsz.
No segundo momento, parece que não é possível mudar o desbotamento por uma coordenada (pelo menos não com o comando pgf, talvez funcione com as teclas tikz), ele ficou preso no canto superior esquerdo. Mas se eu usar o gancho shipout/background para mover a imagem para o centro, ele funciona:
\documentclass{article}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{tikz}
\pgfdeclarefading{myfading}{\includegraphics[width=11cm]{fadpix-jpg-rsz.jpg}}
\begin{document}
\mbox{}
\AddToHook{shipout/background}
{
\put(0.5\paperwidth,-0.5\paperheight)
{%
\begin{tikzpicture}[remember picture,overlay]
\node[inner sep=0pt] {%
\includegraphics[width=11cm]{Utah_Teapot_mr_maya.jpg}
%\includegraphics[width=11cm]{fadpix-jpg-rsz.jpg} %for test
};%
\begin{scope}[scope fading=myfading]
\pgfsetfading{myfading}{} %
\node[text=white,text width=11.0cm]
{\lipsum[1-3]};
\end{scope}
\end{tikzpicture}
}}
\end{document}