编辑

编辑

我想在任何图片的顶部绘制一条上对角线,但我不知道如何找到绘图输入图像的尺寸。输入图像来自这里。 伪代码

\documentclass{article}
\usepackage{tikz}
\usepackage{graphicx}

\begin{document}
\begin{tikzpicture}
    \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[width=\textwidth]{test.png}};
    \draw[white,thick] (1,0) -- (1,1);
\end{tikzpicture}    
\end{document}

图 1 输入,图 2 输出,图 3 输出来自 cfr 的提案

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

TeXLive:2016年
操作系统:Debian 8.5

答案1

如果我没记错的话,这个问题的重点在于,你不需要知道尺寸就可以画出对角线。你只需改变坐标系来匹配这些方向即可。当然,这是过度绘制对角线

\documentclass[tikz,border=10pt]{standalone}
\begin{document}
\begin{tikzpicture}
  \node (n) [anchor=south west,inner sep=0] {\includegraphics[width=\textwidth]{example-image-a}};
  \begin{scope}[x=(n.south east), y=(n.north west)]
    \draw [red] (0,0) -- (1,1);
  \end{scope}
\end{tikzpicture}
\end{document}

无需测量即可诊断

编辑

在测试图像的情况下,图像本身包含白色边框。因此,从左下角到右上角绘制的对角线将超出内部图片以包含该白色边框,因为就 Ti 而言,这是图像本身的一部分Z 很担心。

要查看此内容,请填充图片后面的节点。这里我使用了 2 个副本,尽管我不太清楚为什么。

显示白色边框

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{backgrounds,fit}
\begin{document}
\begin{tikzpicture}
  \node (n) [anchor=south west,inner sep=0] {\includegraphics[width=\textwidth]{example-image-a}};
  \begin{scope}[x=(n.south east), y=(n.north west)]
    \draw [red] (0,0) -- (1,1);
  \end{scope}
\end{tikzpicture}
\begin{tikzpicture}
  \node (n) [anchor=south west,inner sep=0] {\includegraphics[width=\textwidth]{m}};
  \begin{scope}[x=(n.south east), y=(n.north west)]
    \draw [red] (0,0) -- (1,1);
  \end{scope}
  \begin{scope}[xshift=1.1\textwidth]
    \node (n1) [anchor=south west,inner sep=0] {\includegraphics[width=\textwidth]{m}};
    \begin{scope}[x=(n1.south east), y=(n1.north west)]
      \draw [blue] (0,0) -- (1,1);
    \end{scope}
  \end{scope}
  \scoped[on background layer]{\node [fill=gray!25!blue, fit=(n) (n1)] {};}
\end{tikzpicture}
\end{document}

相关内容