将图片放在整页上

将图片放在整页上

我想添加一张图片,以便它覆盖整个页面。从边缘到边缘,没有空白,只有图片。我使用 A4 纸(欧式),图片也是 A4 格式,所以这应该不是问题。

我想要的目标:

  • 单页:全图
  • 下一页:只是另一张小图片

我们将图片称为 xx(大)和 yy(小)。我只关心 xx

我有这个 MWE

\documentclass[a4paper]{scrreprt}

\usepackage{geometry}
\usepackage{graphicx}
\pagestyle{empty}
\parindent0pt

\begin{document}

    
\newgeometry{left=0mm, right=0mm, top=0mm, bottom=0mm}
\includegraphics[width=.999\textwidth,height=.999\textheight,keepaspectratio]{xx}

\newgeometry{left=10mm, right=10mm, top=10mm, bottom=10mm}
\includegraphics[width=12cm]{yy}    

\newgeometry{left=0mm, right=0mm, top=0mm, bottom=0mm}
\includegraphics[width=1\textwidth,height=1\textheight,keepaspectratio]{xx}

\newgeometry{left=10mm, right=10mm, top=10mm, bottom=10mm}
\includegraphics[width=8cm]{yy}

\end{document}

第一张图片的问题是,在右侧和下边缘有一条小而烦人的白线。第二张大图片的问题是,在实际的图片页面之前生成了一个空白页。但我不知道为什么。我该怎么办?

这是我使用的图片(作为xx),yy图片我真的不在乎,这不是问题。

在此处输入图片描述

答案1

可能有点过头了,但如果您使用 TikZ 来定位您的图像,您就不必担心来回更改页面几何形状。

如果您想要精确填充整个页面,我会放弃该keepaspectratio选项。您的图像可能会略微扭曲,但如果图像的尺寸不完全正确,则不会出现白边。

\documentclass[a4paper]{scrreprt}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}[remember picture,overlay,inner sep=0pt,outer sep=0pt]
\node at (current page.center) {\includegraphics[width=\paperwidth,height=\paperheight]{example-image-duck}};
\end{tikzpicture}

\clearpage

next page

\end{document}

答案2

1.0 仅height=\pageheight当您不想弹出伪页面时才使用。如果您不想出现扭曲的图像,则图像的纵横比必须与页面相同。

2.0 将图像放在 0pt 框中,并使用 Tikz 将其放置在页面的中心,或者使用 LaTeX2e 中的 shipout 钩子并使用 进行定位picture

3.0 如果将所有边距的几何形状设置为 0pt,则可以使用:

\newpage
\ExplSyntaxOn
\dim_set:Nn\l_tmpa_dim{\paperwidth/2}
\hspace*{\l_tmpa_dim}\makebox[0pt]{\includegraphics[height=\paperheight]{example-image-duck}}
\ExplSyntaxOff

或者简单地说\hspace*{105mm},它是的一半\pagewidth,这个解决方案不需要 Tikz。

在此处输入图片描述

\documentclass[a4paper]{scrreprt}
\usepackage{tikz}
\begin{document}
\null     % leave a blank to view double page in pdf viewer
\newpage  %
\begin{tikzpicture}[remember picture,overlay,inner sep=0pt,outer sep=0pt]
\node at (current page.center) {\makebox[0pt]{\includegraphics[height=\paperheight]{example-image-duck}}};
\end{tikzpicture}
\newpage
\begin{tikzpicture}[remember picture,overlay,inner sep=0pt,outer sep=0pt]
\node at (current page.center) {\makebox[0pt]{\includegraphics[height=\paperheight]{roots}}};
\end{tikzpicture}
\newpage
\begin{tikzpicture}[remember picture,overlay,inner sep=0pt,outer sep=0pt]
\node at (current page.center) {\makebox[0pt]{\includegraphics[width=\paperheight]{roots}}};
\end{tikzpicture}
\newpage
\begin{tikzpicture}[remember picture,overlay,inner sep=0pt,outer sep=0pt]
\node at (current page.center) {\makebox[0pt]{\includegraphics[width=\paperheight,height=\paperheight]{roots}}};
\end{tikzpicture}
\end{document}

相关内容