如何显示两张大小不同但高度相同的图片?

如何显示两张大小不同但高度相同的图片?

我使用此代码来显示两张图片:

\begin{figure}[htbp]
\minipage{0.45\textwidth}
\begin{center}
\includegraphics[width=1\textwidth]{methods.png}
\caption{Methods}
\label{fg:methods}
\end{center}
\endminipage\hfill
\minipage{0.1\textwidth}
\begin{center}
\end{center}
\endminipage\hfill
\minipage{0.45\textwidth}
\begin{center}
\includegraphics[width=1\textwidth]{method_detail.png}
\caption{Method detail information}
\label{fg:method_detail}
\end{center}
\endminipage\hfill
\end{figure}

现在我想确保两张图片的宽度不超过\textwidth。我已经实现了这一点。但我希望将高度较高的图片缩小到较小图片的高度(同时保持纵横比)。这样,较高的图片就不再需要整个宽度了,所以我想将这个宽度用于较小的图片,使其更宽。

我想我可以尝试在 includegraphics 命令中使用不同的宽度参数来做到这一点,但没有办法自动做到这一点吗?

答案1

\documentclass{article}
\usepackage{graphicx}
\newsavebox\IBoxA \newsavebox\IBoxB \newlength\IHeight
\newcommand\TwoFig[6]{% Image1 Caption1 Label1 Im2 Cap2 Lab2
  \sbox\IBoxA{\includegraphics[width=0.45\textwidth]{#1}}
  \sbox\IBoxB{\includegraphics[width=0.45\textwidth]{#4}}%
  \ifdim\ht\IBoxA>\ht\IBoxB
    \setlength\IHeight{\ht\IBoxB}%
  \else\setlength\IHeight{\ht\IBoxA}\fi
  \begin{figure}[!htb]
  \minipage[t]{0.45\textwidth}\centering
  \includegraphics[height=\IHeight]{#1}
  \caption{#2}\label{#3}
  \endminipage\hfill
  \minipage[t]{0.45\textwidth}\centering
  \includegraphics[height=\IHeight]{#4}
  \caption{#5}\label{#6}
  \endminipage 
  \end{figure}%
}

使用方法如下:

\begin{document}

  \TwoFig{methods} % image 1
         {Methods} % caption 1
         {fg:methods} % label 1
         {method_detail} % image 2
         {Method detail information} % caption 2
         {fg:method_detail} % label 2

\end{document}

在此处输入图片描述

答案2

这将比较两幅图像的高度,并根据需要将较高的图像缩小。

\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}
        \setbox0\hbox{%
                \includegraphics[width=.45\textwidth]{methods}%
        }%
        \setbox2\hbox{%
                \includegraphics[width=.45\textwidth]{methodsdetail}%
        }%
        \ifdim\ht0>\ht2
                \setbox0\hbox{%
                        \includegraphics[height=\ht2]{methods}%
                }%
        \else
                \setbox2\hbox{%
                        \includegraphics[height=\ht0]{methodsdetail}%
                }%
        \fi
        \noindent
        \parbox{.45\textwidth}{%
                \centering
                \unhbox0
                \caption{Methods}
                \label{fg:methods}
        }%
        \hfil
        \parbox{.45\textwidth}{%
                \centering
                \unhbox2
                \caption{Method detail information}
                \label{fg:method_detail}
        }%
\end{figure}
\end{document}

使用一些免费的剪贴画,没有\if...\fi,它看起来像这样。 在此处输入图片描述

使用上面的代码,它看起来像这样。 在此处输入图片描述

相关内容