我想制作一条可以覆盖图像的线。
我正在尝试编写一个巨大的命令来简化大量工作:新命令,加载多张图片。
我想添加几行代码来覆盖第三个答案中最大的图像。试过了overpic
,但效果不好。
- - - 编辑
这是我想通过修改来实现的目标:
\documentclass[draft]{article}
\usepackage{graphicx}
\usepackage{subcaption}
\newcommand{\includegraphicsset}[1]{%
\begin{figure*}
\centering
\begin{subfigure}[b]{\textwidth}
\centering
\includegraphics[width=\textwidth]{/gfx/part#1/pic1}
\caption[short]{the largest picture in the set}
\label{fig:set#1large}
\end{subfigure}
\end{figure*}
}
\begin{document}
\includegraphicsset{1}
\end{document}
答案1
我不确定我是否理解正确,但也许是这样的?
这使用 TikZ 和来自的代码Caramdir 的回答。该代码的优点在于它允许您指定坐标相对于图片例如,那就(0.5,0.5)
位于精确的中心。
\documentclass{article}
\usepackage{graphicx,tikz}
\usepackage{subcaption}
\newcommand{\includegraphicsset}[1]{%
\begin{figure*}
\centering
\begin{subfigure}[b]{\textwidth}
\centering
\begin{tikzpicture}% based on https://tex.stackexchange.com/a/9561/ (Caramdir's fantastic answer to another question)
\node (tiger) [anchor=south west, inner sep=0pt] {\includegraphics[width=\textwidth]{tiger}};
\begin{scope}[x={(tiger.south east)},y={(tiger.north west)}]
\foreach \i/\j in {{(0.23,1.05)/(0.25,-.1)},{(0.54,1.1)/(0.5,-.15)},{(0.76,1.05)/(0.8,-0.1)}}
\draw [red, thick] \i -- \j;
\end{scope}
\end{tikzpicture}
\caption[short]{the largest picture in the set}
\label{fig:set#1large}
\end{subfigure}
\end{figure*}
}
\begin{document}
\includegraphicsset{1}
\end{document}
答案2
以下是我关于使用 向图像添加线条的评论的答案\stackinset
。原帖没有明确说明是否附加了文本等。这也可以做到,但这里是在图像顶部添加线条的基本知识。
如果多条线要延伸到图像边界之外,则必须小心。随着每个\stackinset
嵌套的处理(从内到外),“新的”垂直图像尺寸可能会发生变化。因此,必须根据先前嵌套的图像尺寸给出位置规范。
因此,在此 MWE 中,最右边的线是内部的\stackinset
,并延伸到图像底部下方 0.3 英寸。第二和第三插入图设置为与“修订”图像底部垂直偏移 0 英寸,这意味着它们从与原始线相同的垂直位置开始。最后一个插入图(左侧第二行)设置为图像底部上方 0.1 英寸,这仍然使其位于原始示例图像 A 下方 0.2 英寸。
请注意,从原始图像水平延伸的数据不会改变图像的水平尺寸。上述注释仅适用于垂直尺寸。
\documentclass{article}
\usepackage{stackengine,graphicx,xcolor}
\begin{document}
{\color{red}
\stackinset{l}{1in}{b}{.1in}{\rotatebox{75}{\rule{3.8in}{1pt}}}{%
\stackinset{l}{.3in}{b}{}{\rotatebox{85}{\rule{4in}{1pt}}}{%
\stackinset{r}{.5in}{b}{}{\rotatebox{-80}{\rule{4in}{1pt}}}{%
\stackinset{r}{1in}{b}{-.3in}{\rotatebox{-85}{\rule{4in}{1pt}}}{%
\includegraphics[width=4in]{example-image-A}%
}}}}}
\end{document}