242

I use \includegraphics command to insert image to the document. But how can I add a border around this image w/o any margin between border lines and image? It seems to be very easy, but I can't find it in the documentation.

249

You can add a frame around it by placing it inside a \fbox{...} command.

\fbox{\includegraphics[options]{image}}

The distance can be set by changing the \fboxsep length and the line width with the \fboxrule length, e.g. to draw a tight 1pt thick rule around the image use:

{%
\setlength{\fboxsep}{0pt}%
\setlength{\fboxrule}{1pt}%
\fbox{\includegraphics[options]{image}}%
}%

Using a recent version of my adjustbox package you can use:

\usepackage[export]{adjustbox}
% ...
\includegraphics[<your options>,frame]{image}% tight frame
% or 
\includegraphics[<your options>,fbox]{image}% Like normal \fbox

There is also cframe and cfbox for colored frames. All of these allow for multiple optional values, e.g. frame=<rule width>. See the manual for more information.

| improve this answer | |
  • 3
    Thanks, \frame works better for me, because I don't need any margin between image and line. – TheBug Jun 13 '11 at 20:15
  • 11
    I now programmed a frame option for \includegraphics. It will be released with the next package update of adjustbox. – Martin Scharrer Jul 22 '11 at 8:16
  • 2
    Pleasen i ask if it's possible to have rounded border corners? and how ? thank you. – researcher Sep 8 '12 at 11:49
  • 1
    @researcher: For rounded corners you need to use TikZ or PS-Tricks. See also How to draw frame with rounded corners around box. – Martin Scharrer Sep 8 '12 at 12:16
  • 1
    Thanks! the frame option of adjustbox works very well! – rmbianchi Oct 1 '15 at 18:19
132

I've found that \frame{\includegraphics{image}} command works for my case.

| improve this answer | |
  • 4
    Nice, I didn't know that \frame existed. I now figured out that beamer which defines its own \frame macro and frame environment also supports the normal \frame inside them (be saving and then restoring the default definition locally). – Martin Scharrer Jun 28 '11 at 17:25
  • 2
    Note that \frame will cause the final box to have no depth, which is fine for image but mostly not for text. {\setlength{\fboxsep}{0pt}\fbox{..}} however will keep the original depth, so that letters like 'y' and 'g' are not moved up. – Martin Scharrer Jul 22 '11 at 8:14
  • I found this to be problematic in Adobe. As you zoom in/out some sides of the box will dissapear – puk Jun 1 at 23:47
60

You need more fancy frame? The settings that you can adjust:

\fboxsep=10mm%padding thickness
\fboxrule=4pt%border thickness

and

%\fcolorbox{bordercolor}{paddingcolor}{image}
\fcolorbox{red}{yellow}{\includegraphics[width=0.5\linewidth]{foobarbaz}}

enter image description here

\documentclass[demo]{article}
\usepackage[english]{babel}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{blindtext}


\fboxsep=10mm%padding thickness
\fboxrule=4pt%border thickness

\begin{document}

\blindtext

\begin{figure}[hbtp]
\centering
%\fcolorbox{bordercolor}{paddingcolor}{image}
\fcolorbox{red}{yellow}{\includegraphics[width=0.5\linewidth]{foobarbaz}}
\caption{This is a black box for demo purpose.}
\label{fig:foobarbaz}
\end{figure}
\blindtext
\end{document}
| improve this answer | |
  • 2
    Thanks for such complete example, it will help me with my next experiments. – TheBug Jun 14 '11 at 15:26
20

A tcbox (or a tcolorbox) were missing in this list. Some simple examples:

\documentclass[a4paper]{article} 
\usepackage[most]{tcolorbox}
\begin{document}
    \tcbox{\includegraphics[width=5cm]{frog}}

    \tcbox[colframe=green!30!black,
           colback=green!30]{\includegraphics[width=5cm]{frog}}

    \tcbox[sharp corners, boxsep=5mm, boxrule=1mm, 
            colframe=green!30!black, colback=white]
            {\includegraphics[width=5cm]{frog}}
\end{document}

enter image description here

| improve this answer | |
  • Although this is the hardest solution, it is much better than the top rate solution by @theBug – puk Jun 2 at 0:05
6

For someone who wants to achieve a similar affect in ConTeXt, \externalfigure accepts all the options of \framed, so one can draw a border using:

\externalfigure[file][frame=on]
| improve this answer | |
6

Somebody tell me if I've missed an answer already covering this, but my favourite way to do this is using efbox and this is my go-to image-framer for simple framing.

\documentclass[border=9pt]{standalone}
\usepackage{efbox,graphicx}
\efboxsetup{linecolor=green,linewidth=10pt}
\begin{document}
  \efbox{\includegraphics{cath-gadael-chartref}}
\end{document}

cath sy'n gadael ei chartref

[Disclaimer: code for the image is somewhere on this site, but it's mine so I don't feel obligated to find it.]

| improve this answer | |
  • 3
    Any cat seeing this must give +1. – user194703 Dec 9 '19 at 22:57
  • 1
    @Schrödinger'scat Beats example-image-a. I think the mwe package needs more cats! – cfr Dec 9 '19 at 22:59
  • 1
    How about example-image-meow? – user194703 Dec 9 '19 at 23:00
  • 1
    @Schrödinger'scat example-image-purr, example-image-silent-glare, example-image-hiss, example-image-growl, example-image-prowl ...? – cfr Dec 9 '19 at 23:03
  • I think you got the point. ;-) – user194703 Dec 9 '19 at 23:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.