Ich möchte Verbindungslinien / Pfeile zwischen verschiedenen Bildern setzen. Wie kann ich das machen?

Das Resultat soll z.B. so aussehen:

alt text

Arbeitsordner mit Hilfsdateien

gefragt 10 Jun '15, 23:39

cis's gravatar image

cis
9.5k93459491
Akzeptiert-Rate: 29%

bearbeitet 10 Jun '15, 23:45


Mit dem Paket onimage:

Hierzu wurden die Bilder in eine TikZ-Node gesteckt, um die Funktion remember picture zu nutzen. Die Markierungsnodes dagegen stehen in der onimage-Umgebung. Um das Koordinatengitter auszublenden, muss tsx/show help lines auskommentiert werden.

alt text

Open in Online-Editor
\documentclass[margin=5pt]{standalone}
%\documentclass{scrreprt}

%\usepackage{tikz}
\usepackage{onimage}

\usepackage{mwe}

\begin{document}

\begin{tikzpicture}[remember picture
%rotate=180,transform shape
]
\node[]{
\begin{tikzonimage} [width=0.5\textwidth]{example-image-a}[tsx/show help lines,
]
\node at (0.2,0.7) [shape=rectangle,draw,fill=brown] (n1) {};
\node at (0.75,0.3) [shape=rectangle,fill=red] (n2) {};

\draw[orange!50!red, ultra thick] (0.225, 0.0125) rectangle (0.65,0.35) 
node[midway] {Text im Rahmen};
\end{tikzonimage}
};
\end{tikzpicture}

\begin{tikzpicture}[remember picture
]
\node[]{
\begin{tikzonimage} [width=0.3\textwidth]{example-image-b}[tsx/show help lines,
]
\node at (0.2,0.7) [shape=rectangle,fill=orange] (n3) {};
\node at (0.75,0.9) [shape=rectangle,fill=yellow] (n4) {};
\end{tikzonimage}
};
\end{tikzpicture}

%Verbindungspfeile
\begin{tikzpicture}[remember picture,overlay, >=latex]
\draw[->,ultra thick,magenta] (n1) -| (n3);
\draw[->,ultra thick,magenta!50!black] (n2) -| (n4) node[very near start, above, fill=green]{Hier ein Text};
\end{tikzpicture}

\end{document}

Nur mit TikZ:

alt text

Open in Online-Editor
\documentclass{scrreprt}

\usepackage{tikz}
\usepackage{mwe}

\begin{document}

\begin{minipage}{.5\textwidth}
\includegraphics[width=\textwidth]{example-image-a}
\begin{tikzpicture}[remember picture,overlay] 
\node at (2,1) [shape=rectangle,draw,fill=brown] (n1) {};
\node at (1.5,3) [shape=rectangle,fill=red] (n3) {};
\end{tikzpicture}
\end{minipage}
%
\begin{minipage}{.3\textwidth}
\vspace{2.5cm}
\includegraphics[width=0.5\textwidth]{example-image-b}
\rule{50pt}{50pt}
\begin{tikzpicture}[remember picture,overlay]
 \node at (-1,1)[fill=orange] (n2) {};
 \node at (-2.5,1)[fill=yellow] (n4) {};
 \end{tikzpicture}
\end{minipage}

%Verbindungspfeile
\begin{tikzpicture}[remember picture,overlay, >=latex]
\draw[->,ultra thick,magenta] (n1) -| (n2);
\draw[->,ultra thick,magenta!50!black] (n3) -| (n4) node[midway, above]{Hier ein Text};
\end{tikzpicture}

\end{document}
Permanenter link

beantwortet 10 Jun '15, 23:42

cis's gravatar image

cis
9.5k93459491
Akzeptiert-Rate: 29%

bearbeitet 10 Jun '15, 23:47

1

@cis Eigentlich hatte ich ja gehofft, wie vermutlich @saputello auch, dass Du seinen Vorschlag in Deine Antwort einbaust. So habe ich jetzt doch noch eine eigene geschrieben.

(15 Jun '15, 16:32) esdd

Wie @saputello schon in einem Kommentar erwähnt hat, stellt onimage auch die Umgebung tikzonnode bereit, die es ermöglicht die Bilder in einem Node einzufügen und anschließend darauf zu zeichnen. Damit ist es möglich alle Bilder in einem tikzpicture einzufügen, was die Positionierung erleichtert. Dann genügt auch ein Durchlauf zum Erstellen.

Open in Online-Editor
\documentclass[margin=5pt]{standalone}
\usepackage{onimage}
\usetikzlibrary{positioning}

\usepackage{mwe}% für die Beispielbilder
\begin{document}
\begin{tikzpicture}
\node[inner sep=0pt](imagea){\includegraphics[width=0.5\textwidth]{example-image-a}};
\node[inner sep=0pt,right=of imagea.south east,anchor=south west](imageb)
  {\includegraphics[width=0.3\textwidth]{example-image-b}};

\begin{tikzonnode}{imagea}[tsx/show help lines]
\node at (0.2,0.7) [shape=rectangle,draw,fill=brown] (n1) {};
\node at (0.75,0.3) [shape=rectangle,fill=red] (n2) {};
\draw[orange!50!red, ultra thick] (0.225, 0.0125) rectangle (0.65,0.35) 
  node[midway] {Text im Rahmen};
\end{tikzonnode}

\begin{tikzonnode}{imageb}[tsx/show help lines]
\node at (0.2,0.7) [shape=rectangle,fill=orange] (n3) {};
\node at (0.75,0.9) [shape=rectangle,fill=yellow] (n4) {};
\end{tikzonnode}

\draw[->,ultra thick,magenta] (n1) -| (n3);
\draw[->,ultra thick,magenta!50!black] (n2) -| (n4) 
  node[very near start, above, fill=green]{Hier ein Text};
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 15 Jun '15, 16:29

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×730
×3

gestellte Frage: 10 Jun '15, 23:39

Frage wurde gesehen: 13,407 Mal

zuletzt geändert: 15 Jun '15, 16:32