將圖片放在整頁上

將圖片放在整頁上

我想包含一張圖片,使其覆蓋頁面的 100%。從邊緣到邊緣,沒有空白,只有圖片。我用的是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}

相關內容