# Image on full slide in beamer package

I would like to make a slide of only one image without any borders or any other beamer specific element.

I tried :

\begin{frame}[plain]
\includegraphics[keepaspectratio=true,width=1\paperwidth]{kernel-panic.png}
\end{frame}


But I still get a border on the left, top and bottom.

Later edit: width=1.2\paperwidth seems to remove top and bottom borders. I still have a left border and some navigation elements on bottom right.

-
add comment

## 6 Answers

This works:

\documentclass{beamer}
\title{test of full size graphic}
\usepackage{tikz}
\usetheme{AnnArbor}

\begin{document}

\begin{frame}
\maketitle
Notice the fancy presentation theme.
\end{frame}

{ % all template changes are local to this group.
\setbeamertemplate{navigation symbols}{}
\begin{frame}[plain]
\begin{tikzpicture}[remember picture,overlay]
\node[at=(current page.center)] {
\includegraphics[width=\paperwidth]{yourimage}
};
\end{tikzpicture}
\end{frame}
}

\begin{frame}
symbols should be back now
\end{frame}

\end{document}


You have to run beamer twice to get the image centered in the right place. But if you have any other aux-file tricks (e.g., table of contents) you need to do that anyway.

If you're not already using tikz, you can save your image as a pdf and then use \includepdf (part of the pdfpages package). This will get you into trouble if you want to print your slides as an article or handout, though.

-
Thanks it did the trick. –  Alexandru Oct 10 '10 at 18:20
Note that this does not work with \multiinclude –  Tim van Dalen Apr 2 '12 at 14:08
@TimvanDalen, it did for me. Replace \includegraphics... with \multiinclude[graphics={height=\paperheight}]{yourimage}. –  fgregg May 30 '12 at 3:20
add comment

The following strategy worked, but not when I had \mode* in operation.

{
\usebackgroundtemplate{\includegraphics[width=\paperwidth]{figure}}
\begin{frame}[plain]
\end{frame}
}


The following seems to work when I have \mode* operating in the document.

\mode<all>
{
\usebackgroundtemplate{\includegraphics[width=\paperwidth]{figure}}
\begin{frame}[plain]
\end{frame}
}
\mode<all>{\usebackgroundtemplate{}}
\mode*

-
You can simplify things by adding another group around your frame. Then you don't have to explicitly shut off the backgroundtemplate –  Matthew Leingang Oct 11 '10 at 16:45
@Matthew Okay. Thanks. –  Jeromy Anglim Oct 12 '10 at 1:13
add comment

I have been using something like this:

\newcommand<>{\fullsizegraphic}[1]{
\begin{textblock*}{0cm}(-1cm,-3.78cm)
\includegraphics[width=\paperwidth]{#1}
\end{textblock*}
}


in the preamble and then just:

\begin{frame}
\fullsizegraphic{monogram.jpg}
\end{frame}


But I am not totally satisfied - I still have to fiddle with the numbers to get it right.

Unfortunately I have forgotten where I stole the fullsizegraphic-snippet.

-
Works nice, still \usepackage{textpos} is needed. –  mbq May 16 '13 at 14:10
add comment

I ended up using following solution:

\usepackage{tikz}

\usepackage[absolute,overlay]{textpos}
% absolute - no need to move block into position
% overlay - remove footer

% Setting default units for textpos simplifies coding a little bit
\setlength{\TPHorizModule}{1cm}
\setlength{\TPVertModule}{1cm}

% Place a picture over the slide
\newcommand<>{\fullsizegraphic}[1]{%
\begin{textblock}{0}(0,0)%
\only#2{%
\begin{tikzpicture}%
\fill [black] (current page.north west) rectangle (current page.south east);
\node[overlay] at (current page.center)
{\includegraphics[keepaspectratio,width=\paperwidth,height=\paperheight]{#1}};
\end{tikzpicture}%
}%
\end{textblock}%
}


And then using it

\begin{frame}{My cool three points}
\begin{itemize}
\item<1-|alert@1> Point 1
\item<3-|alert@3> Point 2
\item<5-|alert@5> Point 3
\end{itemize}
\fullsizegraphic<2>{pictures/point1}
\fullsizegraphic<4>{pictures/point2}
\fullsizegraphic<6>{pictures/point3}
\end{frame}


Setting keepaspectratio, width and height in \includegraphics scales your image up to the frame border.

Not used space get filled with black using TiKZ \fill [black] (...)

-
add comment

Is the aspect ratio of your image the same as that of your slides? If not then you'll always get either borders or clipping of the image if you include it without changing its aspect ratio.

You can put \hspace{-1.2cm} before your \includegraphics command to place the image 1.2 cm to the left of where it would be by default. Playing with the distance should let you place it right on the edge of the slide.

-
add comment

An more light-weight approach (no extra packages, no necessity to compile twice) is to set the page-filling image as background template via \usebackgroundtemplate and then insert an empty [plain] frame.

To restrict the effect of the background changing to a single slide only, we do this inside a TeX group:

\documentclass{beamer}
\usetheme{Madrid}
\begin{document}
\begin{frame}{Title}
First frame
\end{frame}
{
\usebackgroundtemplate{\includegraphics[height=\paperheight,width=\paperwidth]{background.jpg}}
\setbeamertemplate{navigation symbols}{}
\begin{frame}[plain]
\end{frame}
}
\begin{frame}{Title}
Third frame
\end{frame}
\end{document}

-
add comment