![png 图像上的 CircuiTikZ](https://linux22.com/image/455853/png%20%E5%9B%BE%E5%83%8F%E4%B8%8A%E7%9A%84%20CircuiTikZ.png)
我想在 .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
。
我的方法是:
- 将图像作为节点加载到的开头
tikzpicture
,以便您可以在其上书写。 - 设置某种网格以便于参考。
- 绘制任意内容,微调坐标。
- 移除网格。
让我们看看:步骤 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}
我尝试尽可能使用相对坐标和命名坐标,以尽量减少获得结果所需调整的数字数量。然后,删除网格,您将得到: