Problem

Problem

Problem

Ich habe etwas Code kopiert vonHierUndHierund habe die besten Teile für meine Arbeit kombiniert. Ich frage mich, warum die Koordinaten für mein Rechteck in Prozent des Bildes angegeben sind, die Koordinaten des Fernglases jedoch nicht.

Arbeitsbeispiel

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{spy}
\begin{document}

\begin{tikzpicture}[spy using outlines={circle,red,magnification=5,size=1.5cm, connect spies}]
\node [anchor=south west,inner sep=0] (image) at (0,0) {\includegraphics[height=10cm]{tux}};
\begin{scope}[x={(image.south east)},y={(image.north west)}]
    \draw[red,ultra thick,rounded corners] (0.62,0.65) rectangle (0.78,0.75);
    \spy on (4.5,7) in node [] at (3,5);
    \draw[help lines,xstep=.1,ystep=.1] (0,0) grid (1,1);
    \foreach \x in {0,1,...,9} { \node [anchor=north] at (\x/10,0) {0.\x}; }
    \foreach \y in {0,1,...,9} { \node [anchor=east] at (0,\y/10) {0.\y}; }
\end{scope}
\end{tikzpicture}
\end{document}

Zweiter Versuch

In diesem Beispiel habe ich versucht, spy using outlines={circle,red,magnification=5,size=1.5cm, connect spies}innerhalb der \begin{scope}Parameter zu setzen, aber das funktioniert nicht. Das Bild wird an der falschen Stelle gezoomt. Meine Idee stammte aus dem pgfmanual (68 Spy Library: Magnifying Parts of Pictures S. 746 von v.3.0.0), aber leider! Es hat nicht funktioniert.

\documentclass{standalone} 
\usepackage{tikz} 
\usetikzlibrary{spy} 
\begin{document}

\begin{tikzpicture}[]
\node [anchor=south west,inner sep=0] (image) at (0,0) {\includegraphics[height=10cm]{tux}};
\begin{scope}[x={(image.south east)},y={(image.north west)},spy using outlines={circle,red,magnification=5,size=1.5cm, connect spies}]
    \draw[red,ultra thick,rounded corners] (0.62,0.65) rectangle (0.78,0.75);
    \spy on (4.5,7) in node [] at (3,5);
    \draw[help lines,xstep=.1,ystep=.1] (0,0) grid (1,1);
    \foreach \x in {0,1,...,9} { \node [anchor=north] at (\x/10,0) {0.\x}; }
    \foreach \y in {0,1,...,9} { \node [anchor=east] at (0,\y/10) {0.\y}; }
\end{scope}
\end{tikzpicture}
\end{document}

Antwort1

\spyverwendet das Koordinatensystem im Rahmen der spy using outlinesOption. Um Ihr spezielles Koordinatensystem zum Ausspionieren Ihres Bildes zu verwenden, können Sie benannte Koordinaten definieren.

Bildbeschreibung hier eingeben

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{spy}
\begin{document}

\begin{tikzpicture}[spy using outlines={circle,red,magnification=3,size=2.5cm, connect spies}]
\node [anchor=south west,inner sep=0] (image)
at (0,0) {\includegraphics[height=10cm]{example-image}};
\begin{scope}[x={(image.south east)},y={(image.north west)}]
    \draw[red,ultra thick,rounded corners] (0.62,0.65) rectangle (0.78,0.75);
    \coordinate (pos spy) at (.2,.2);
    \coordinate (center) at (.5,.5);
    \spy on (center) in node [] at (pos spy);
    \draw[help lines,xstep=.1,ystep=.1] (0,0) grid (1,1);
    \foreach \x in {0,1,...,9} { \node [anchor=north] at (\x/10,0) {0.\x}; }
    \foreach \y in {0,1,...,9} { \node [anchor=east] at (0,\y/10) {0.\y}; }
\end{scope}
\end{tikzpicture}
\end{document}

verwandte Informationen