如何获取 \pgfdeclareimage 的大小

如何获取 \pgfdeclareimage 的大小

基本上我想使用 TikZ 节点来构建 pgfimage,因此稍后我将添加更多节点并根据需要连接它们。我有这个:

\pgfdeclareimage[width=10em]{image1}{images/image1}
\begin{tikzpicture}
  \node (MM) [rectangle,draw,thick,minimum width=10.15em,label=below:Description]{\pgfbox[center,center]{\pgfuseimage{image1}}};
\end{tikzpicture}

因此,现在我需要获取 image1 的高度,以便在节点声明中添加最小高度属性。这样,我就可以获得独立于图像纵横比的动态框架。也许这是一项简单的任务,但我是新手,似乎无法在文档中找到我需要的信息。

答案1

\pgfdeclareimage不使用或测量图像,但您可以使用 LaTeX 的方法来获取高度\settoheight

\documentclass{article}
\usepackage{tikz}

\newlength\imageheight

\begin{document}

\pgfdeclareimage[width=10em]{image1}{images/image1}
\settoheight{\imageheight}{\pgfuseimage{image1}}
\begin{tikzpicture}
  \node (MM) [
    rectangle,
    draw,
    thick,
    minimum width=10.15em,
    minimum height=\the\dimexpr\imageheight+.15em\relax,
    label=below:Description
  ]{\pgfbox[center,center]{\pgfuseimage{image1}}};
\end{tikzpicture}

\end{document}

相关内容