Two images one on the other
Two images one on the other
I have two picture, one (Image 1) is the big one while the other (Image 2) is the small one that is a detail of the big one. I would like to do something like the zoom option (with tikzpicture
) but instead to have the zoomed image image I just want to see the other image. Everything inside a figure with its caption.
tikzpicture
I made an example in case is difficult to understand what I want to do.Image 1
is my main image, the cross represents the schematised detail that is explained with Image 2
. The two images are two .png
.
Image 1
Image 2
.png
Is it possible?
3 Answers
3
Starting point. Now, you only need to connect the other anchors and decide the right position for the squares.
documentclassreport
usepackagetikz
usepackagegraphicx
usepackagelipsum
begindocument
lipsum[1]
beginfigure[h]centering
begintikzpicture
node[draw] (one) at (0,0)includegraphics[width=6cm]example-image-a;
node[anchor=north,draw,inner sep=0pt] (two) at ([xshift=-1cm]one.north west)includegraphics[width=1cm]example-image-b;
node[draw] (rect) at (-1,0);
draw (two.south east) -- (rect.south west);
endtikzpicture
captiontext
endfigure
lipsum[2]
enddocument
Does it exist an easy way to find the right position for the small square? Like an online tool that gives the relative coordinate of the main image using just the mouse pointer?
– Shika93
Aug 21 at 19:59
Mouse pointer is not good since usually the result is given in pixels. If you use Gimp (free) you can create a rectangle and see its coordinates in other units. Or use Imagemagick, which is lighter.
– Sigur
Aug 21 at 21:54
Ok it doesn't matter, I made it in the old way. Thanks it's perfect!
– Shika93
Aug 21 at 22:37
@Shika93, you're welcome.
– Sigur
Aug 21 at 22:43
A solution using path picture
to clip the zoom.
path picture
And as @Sigur said 'Starting point. Now, you only need to connect the other anchors and decide the right position for the' circles.
documentclass[a4paper, 12pt]article
usepackagemwe
usepackagetikz
begindocument
beginfigure[h!]
centering
includegraphics[width=.7linewidth]example-image
caption[Text for the list of figures]Text under the figure
labelfig:theReference0
endfigure
beginfigure[h!]
centering
begintikzpicture
[path image/.style=path picture=node at (path picture bounding box.center) includegraphics[height=3cm]#1;]
node (img) includegraphics[width=.7linewidth]example-image;
node (c1) [draw, circle, red, text width=.7cm] at (img.center) ;
draw [red] (c1.east) -- (img.east);
draw [path image=example-image-a,draw=red,thick] (img.east) circle (2cm);
endtikzpicture
caption[Text for the list of figures]Text under the figure
labelfig:theReference
endfigure
enddocument
+ Capitalizing the "a" to emphasize magnification
– Carel
Aug 21 at 20:49
With picture
environment:
picture
documentclassarticle
usepackagegraphicx
begindocument
noindent%
setlengthunitlengthtextwidth%
beginpicture(1,0.5)%
put(0.3,0)includegraphics[width=.7textwidth]example-image%
put(0,0.33)includegraphics[width=.2textwidth]example-grid-100x100bp%
put(0.0,0.33)line(4,-1).4
put(0.0,0.53)line(4,-1).4
put(0.2,0.33)line(4,-1).4
put(0.2,0.53)line(4,-1).4
put(0.4,0.23)line(1,0).2
put(0.4,0.43)line(1,0).2
put(0.4,0.23)line(0,1).2
put(0.6,0.23)line(0,1).2
endpicture%
enddocument
By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.
Possible duplicate: Drawing on an image with TikZ
– Werner
Aug 21 at 16:09