¿Cómo hacer un código Qr de color degradado en LaTex?

¿Cómo hacer un código Qr de color degradado en LaTex?

Estoy usando el paquete qrcode y sé cómo crear códigos qr de colores lisos:

\usepackage{qrcode}[]

\color{azul}{\qrcode[altura=7cm]{código qr del sitio}}

pero quiero hacerlo con colores degradados, ¿cómo hacer esto? Esto es lo que quiero:

ingrese la descripción de la imagen aquí

Respuesta1

Puedes utilizar la solución deaquíy use el comando de código qr en lugar de texto como entrada para el fadingtextcomando recién creado

\documentclass{article} 
\usepackage{qrcode}[]
\usepackage{tikz}
\usetikzlibrary{fadings, shadings}
\newcounter{fadcnt}\setcounter{fadcnt}{0}
\newcommand\fadingtext[3][]{%
\stepcounter{fadcnt}
  \begin{tikzfadingfrompicture}[name=fading letter\thefadcnt]
    \node[text=transparent!0,inner xsep=0pt,outer xsep=0pt,#1] {#3};
  \end{tikzfadingfrompicture}%
  \begin{tikzpicture}[baseline=(textnode.base)]
    \node[inner sep=0pt,outer sep=0pt,#1](textnode){\phantom{#3}}; 
    \shade[path fading=fading letter\thefadcnt,#2,fit fading=false]
    (textnode.south west) rectangle (textnode.north east);% 
  \end{tikzpicture}% 
}
\usetikzlibrary{calc}
\newbox\shbox
\tikzset{%
  path picture shading/.style={%
  path picture={%
%
\pgfpointdiff{\pgfpointanchor{path picture bounding box}{south west}}%
  {\pgfpointanchor{path picture bounding box}{north east}}%
\pgfgetlastxy\pathwidth\pathheight%
\pgfinterruptpicture%
   \global\setbox\shbox=\hbox{\pgfuseshading{#1}}%
 \endpgfinterruptpicture%
\pgftransformshift{\pgfpointanchor{path picture bounding box}{center}}%
\pgftransformxscale{\pathwidth/(\wd\shbox)}%
\pgftransformyscale{\pathheight/(\ht\shbox)}% \dp will (should) be 0pt
\pgftext{\box\shbox}%
%
    }
  }
}
\pgfdeclarehorizontalshading{rainbow}{10bp}{color(0bp)=(violet);
            color(1.6667bp)=(blue);
            color(3.3333bp)=(cyan);
            color(5bp)=(green);
            color(6.6667bp)=(yellow);
            color(8.3333bp)=(orange);
            color(10bp)=(red)}
\pgfdeclareverticalshading{rainbow_vertical}{10bp}{color(0bp)=(violet);
            color(1.6667bp)=(blue);
            color(3.3333bp)=(cyan);
            color(5bp)=(green);
            color(6.6667bp)=(yellow);
            color(8.3333bp)=(orange);
            color(10bp)=(red)}
\begin{document} 
\noindent
\fadingtext[scale=1]{upper left=red, upper right=green, lower left=blue,lower right=yellow}{\qrcode[height=5cm]{site qr code}}
\fadingtext[scale=1]{path picture shading=rainbow}{\qrcode[height=5cm]{site qr code}}
\fadingtext[scale=1]{path picture shading=rainbow_vertical}{\qrcode[height=5cm]{site qr code}}
\end{document}

Producción

información relacionada