png 图像上的 CircuiTikZ

png 图像上的 CircuiTikZ

我想在 .png 图像上绘制简单的 CircuiTikZ 符号。这就是我想要的:

通缉

这是我目前得到的:

结果

这是我的代码:

\begin{figure} [!ht]
\begin{tikzpicture}[x=1cm,y=1cm]
\node at (0,0) {\includegraphics[trim={40cm 55cm 40cm 55cm},clip,height=10cm]{images/MecanismoEscala_primer_ensayo_Variables.png}};
\node at (-3.7634,-1.5117){
\begin{circuitikz}
\draw
 (0,0) --++ (-1.0778,0)
        to [open,v=$v$,o-o] ++(0,0.7012)
        to[short,i=$i_{a}$] ++(1.0663,0);
\end{circuitikz}
};
\end{tikzpicture}
\end{figure}\FloatBarrier

我还想$v$在端子旁边与 +- 符号一起写下(这两个符号彼此之间距离稍微远一点,不像我得到的结果)。

答案1

首先。绝不嵌套 tikzpictures!并发布基本图片,在本例中我设法用 GIMP 制作并保存为uffa.png

在此处输入图片描述

我的方法是:

  1. 将图像作为节点加载到的开头tikzpicture,以便您可以在其上书写。
  2. 设置某种网格以便于参考。
  3. 绘制任意内容,微调坐标。
  4. 移除网格。

让我们看看:步骤 1 和 2 应该是这样的:

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
    \node[anchor=south west,inner sep=0] (image) at (0,0) {%
        \includegraphics[width=10cm]{uffa.png}};
        \draw[red,thin] (0,0) grid[step=1] (10,5);
\end{tikzpicture}
\end{document}

带网格的图片

0,0左下角有一个点,每个网格步长为 1cm。现在,背景不是白色(我希望你不要打印它,否则,请更改它),所以我选择了颜色,结果是相当深的蓝灰色,RGB 为 33,40,48(任何颜色选择器都可以)。

现在我画电路,并将蓝灰色设置为开路极点的填充。

\documentclass[tikz]{standalone}
\usepackage[RPvoltages, american]{circuitikz}
\begin{document}
\begin{tikzpicture}[color=white]% write in white
    \node[anchor=south west,inner sep=0] (image) at (0,0) {%
        \includegraphics[width=10cm]{uffa.png}};
        \draw[red,thin] (0,0) grid[step=1] (10,5);
        \definecolor{mybg}{RGB}{33,40,48}% with a color picker
        \ctikzset{open poles fill=mybg}% tell circuitikz what is background for you
        \draw (4,4) coordinate(a) to[short, i=$i_a$, o-]  ++(1.8,0);
        \draw (a) ++(0,-1) to[short, o-] ++(1.7,0);
        \draw (a) ++(-0.3,0) to[open, v=$v$] ++(0,-1);
\end{tikzpicture}
\end{document}

带网格和电路

我尝试尽可能使用相对坐标和命名坐标,以尽量减少获得结果所需调整的数字数量。然后,删除网格,您将得到:

最终输出

相关内容