tikzpicture 的背景图片不适合整个页面

tikzpicture 的背景图片不适合整个页面

对于海报,我希望有一张图片填满整个页面。这张图片应该像我的其他内容一样在 tikz 环境中绘制。但是,当图像纵横比与纸张纵横比相差很大时,graphicx 似乎无法重新缩放。我的代码如下:

\documentclass[]{extarticle}
\usepackage[a0paper,margin=0cm]{geometry}
\usepackage{tikz}
\pagestyle{empty}
\setlength{\parindent}{0pt}

\begin{document}
\begin{tikzpicture}
% draw generic background
\draw[white,line width=0pt] (-.5\textwidth, -.5\textheight) rectangle (.5\textwidth, .5\textheight);
% draw image
\pgftext[center,at={\pgfpoint{0}{0}}]{\includegraphics[width=\textwidth,height=\textheight]{test.jpg}}
\end{tikzpicture}
\end{document}

我使用背景用 tikz 环境填充整个页面,这样 (0,0) 位于页面的中心,我可以根据需要定位其他 tikz 对象。只要我使用与页面紧密贴合的图像,或者如果我使用命令includegraphics[width=\textwidth,height=\textheight,keepaspectratio],图像就会正确缩放。否则,我会得到空白的第一页,而我的内容在第二页。换句话说,图像不适合页面大小,它太大了!我该如何防止发生此错误?或者有没有更好的方法在 tikz 环境中绘制图像?

答案1

这是一个简单的解决方案,没有\pgftext(不要混合 pgf 和 TikZ)和margin=0cm,并使用remember pictureandoverlay选项,特殊current page节点和\paperwidthx \paperheight

\documentclass[]{extarticle}
\usepackage[a0paper]{geometry}
\usepackage{tikz}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}[remember picture,overlay]
% draw image
\node[inner sep=0] at (current page.center)
{\includegraphics[width=\paperwidth,height=\paperheight]{example-image}};
\end{tikzpicture}
\end{document}

相关内容