有些人喜欢在二维码的中心放置一个图标……我想使用QRCode 库生成这样的二维码。
目前,我正在使用
\documentclass[landscape,8pt]{minimal}
\usepackage{varwidth}
\usepackage{tikz}
\usepackage[]{qrcode}
\usepackage{graphicx}
\setkeys{Gin}{keepaspectratio}
\begin{document}
\topskip0pt
% https://github.com/zxing/zxing/wiki/Barcode-Contents
\centering\noindent\resizebox*\textwidth\textheight{\begin{varwidth}{\textwidth}%
\begin{tabular}{@{}c@{}}%
%
%
\begin{tikzpicture}[node distance=2mm]
\node (qrc) {\qrcode[]{WIFI:T:WPA;S:trololol;P:"12345678";;}};
\node [anchor=center,fill=white,inner sep=4pt,scale=0.02]
(icon) at (qrc.center) {\includegraphics{wifi}};
\end{tikzpicture}
%
%
\end{tabular}%
\\%
\centering 12345678
\end{varwidth}}
\end{document}
来生成它,但感觉有点奇怪,必须手动缩放图标。另外,我猜如果图标足够大,二维码的错误恢复功能需要调整。
有没有更方便的方式来包含这样一个位于中心的图标?
答案1
Labels
可以在节点处添加center
。您可以使用此选项代替独立节点。
\documentclass[landscape,8pt]{article}
\usepackage{varwidth}
\usepackage{tikz}
\usepackage[]{qrcode}
\usepackage{graphicx}
\setkeys{Gin}{keepaspectratio}
\begin{document}
\topskip0pt
% https://github.com/zxing/zxing/wiki/Barcode-Contents
\centering\noindent\resizebox*\textwidth\textheight{\begin{varwidth}{\textwidth}%
\begin{tabular}{@{}c@{}}%
%
%
\begin{tikzpicture}[node distance=2mm]
\node[label={[anchor=center, fill=white, scale=0.02]center:{\includegraphics{wifi}}}] (qrc) {\qrcode[]{WIFI:T:WPA;S:trololol;P:"12345678";;}};
\end{tikzpicture}
%
%
\end{tabular}%
\\%
\centering 12345678
\end{varwidth}}
\end{document}