如何在图像上画线

如何在图像上画线

我想制作一条可以覆盖图像的线。

我正在尝试编写一个巨大的命令来简化大量工作:新命令,加载多张图片

我想添加几行代码来覆盖第三个答案中最大的图像。试过了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}

在此处输入图片描述

相关内容