从 tikz 中包含的图像的部分绘制线条?

从 tikz 中包含的图像的部分绘制线条?

我在 tikz 中包含了此图像,并想从每个“部分”绘制箭头。箭头应该指向右侧。这可能吗?

是否有一种本机方法可以将包含的图像分成几部分(6 个均等划分的部分),然后在 tikz 中从中画出箭头?..

\begin{tikzpicture}
    \node[inner sep=0pt] (img) at (0,0)
        {\includegraphics[width=0.1\textwidth]{img/specto_snap.png}};
\end{tikzpicture}

在此处输入图片描述

我现在所做的是在 paint 中创建带有线条的部分,并包含图像,是否可以在 tikz 中更改包含的图像?或者这是解决方案?

答案1

在以下帮助下使用 TikZ 在图像上绘图

在此处输入图片描述

\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node [inner sep=0pt,above right] (img) at (0,0){\includegraphics[width=0.1\textwidth]{img/specto_snap}};
\begin{scope}[x=(img.south east),y=(img.north west)]
    % draw dividing lines
    \foreach \y in {1,...,5}
       \draw [red,ultra thick,dashed] (0,\y/6) -- (1,\y/6);

    % draw arrows from middle of each section
    \begin{scope}[-stealth,thick]
        \draw  (0.5,1/12) -- ++(1,0) node[right] {foo};
        \draw  (0.5,3/12) -- ++(1,0) node[right] {bar};
        \draw  (0.5,5/12) -- ++(1,0) node[right] {baz};
        \draw  (0.5,7/12) -- ++(1,0) node[right] {foobar};
        \draw  (0.5,9/12) -- ++(1,0) node[right] {foobaz};
        \draw  (0.5,11/12) -- ++(1,0) node[right] {foobarbaz};
    \end{scope}
\end{scope}
\end{tikzpicture}
\end{document}

答案2

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{graphicx}
\begin{document}
\begin{tikzpicture}
  \node[inner sep=0pt] (Img) {\includegraphics[width=3cm,height=10cm]{example-image}};
  %% Lines
  \foreach \y in {1,...,5}{
    \draw[very thick] ($(Img.south west)!\y/6!(Img.north west)$) -- ($(Img.south east)!\y/6!(Img.north east)$);
  }
  %% Arrows
  \foreach \ylabel [count=\y] in {one,two,three,four,five,six}{
    \draw[very thick,-latex] ($(Img.south)!\y/6-1/12!(Img.north)$) -- +(5,0) node[right]{\ylabel}; 
  }
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容