使用 Tikz 获取图片的宽度

使用 Tikz 获取图片的宽度

我正在尝试使用 beamer 进行演示,并使用 Tikz 将图片合并到我的框架中的某些位置。

由于某些原因,我想固定图片的高度(包含在一个节点中)并检索该图片的宽度(以便为该图片绘制特定的背景。

是否可以获取环境内图片或节点的宽度tikzpicture(长度应该是我从pic节点检索到的值):

\begin{tikzpicture}[anchor=south east,inner sep = 0, outer sep = 0,overlay]
\node (pic) at (0,0) {\includegraphics[height=1.2\baselineskip,keepaspectratio]{mypicture.pdf}};
\draw [fill=couleurprimaire,couleurprimaire] (-\lengt,0) rectangle (\lengt,2\baselineskip);
\end{tikzpicture}

答案1

您可以使用以下方法获取图片文本的宽度\settowidth

\documentclass{beamer}

\usepackage{tikz}

\begin{document}

    \begin{frame}

        \newlength{\picwidth} 
        \settowidth{\picwidth}{\includegraphics[height=1.2\baselineskip,keepaspectratio]{pic.pdf}}

        \begin{tikzpicture}[anchor=south east,inner sep = 0, outer sep = 0,overlay]
            \node (pic) at (0,0) {\includegraphics[height=1.2\baselineskip,keepaspectratio]{pic.pdf}};
            \draw [fill=blue] (-\picwidth,0) rectangle (\picwidth,2\baselineskip);
        \end{tikzpicture}

    \end{frame}

\end{document}

相关内容