如何避免 fbox 和图形之间出现视觉伪影?

如何避免 fbox 和图形之间出现视觉伪影?

我想要在我的图像周围添加一个简单的黑色边框:

\documentclass{article}
\usepackage{graphicx}
\usepackage{calc}
\usepackage{mwe}
\setlength{\parindent}{0pt}
\setlength{\fboxsep}{0pt}
\begin{document}
    \includegraphics[width=\linewidth]{example-image}\\
    \fbox{\includegraphics[width=\linewidth - 2\fboxrule - 2\fboxsep]{example-image}}
\end{document}

除了放大时,其他一切都正常。在下面的图像中,您可以看到图像和边框之间有一条模糊的线:

在此处输入图片描述

我在许多 PDF 查看器中都看到了这个问题(Windows 上的 Acrobat Reader、Windows 上的 Google Chrome、Linux 上的 pdf.js)。我曾想过可以使用边框内的黑色背景来解决这个问题,但我看到了同样的问题:

\documentclass{article}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{calc}
\usepackage{mwe}
\setlength{\parindent}{0pt}
\setlength{\fboxsep}{0pt}
\begin{document}
    \includegraphics[width=\linewidth]{example-image}\\
    \fcolorbox{black}{black}{\includegraphics[width=\linewidth - 2\fboxrule - 2\fboxsep]{example-image}}
\end{document}

我可以避免这种情况吗?

答案1

您可以避免绘制框架,而只需在图像后面绘制一条规则,可以直接使用\rule或使用\colorbox如下方法

在此处输入图片描述

\documentclass{article}
\usepackage{graphicx}
\usepackage{xcolor}

\setlength{\parindent}{0pt}
\setlength{\parskip}{20pt}
\addtolength\textheight{15cm}
\addtolength\paperheight{5cm}

\begin{document}
    \includegraphics[width=\linewidth]{example-image}

{
\setlength{\fboxsep}{0pt}

\fcolorbox{black}{black}{\includegraphics[width=\dimexpr\linewidth - 2\fboxrule - 2\fboxsep]{example-image}}

}

{
  \setlength{\fboxsep}{2pt}

\colorbox{black}{\includegraphics[width=\dimexpr\linewidth - 2\fboxsep]{example-image}}

}


\end{document}

相关内容