\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw[->] (0,0) -- (25:8cm) ;
\end{tikzpicture}
\end{document}
获得一条 8 厘米长的黑线(从第 5 厘米到第 7 厘米涂成绿色)的正确代码是什么?
答案1
您可以postaction
为此使用dash pattern
。
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw[->,postaction={-,draw=green,dash pattern=on 0pt off 5cm on 2cm off 2cm}] (0,0) -- (25:8cm) ;
\end{tikzpicture}
\end{document}
编辑:一个稍微干净一些的版本(因为没有线条被透支,如果不透明度不重要的话就会有所不同)被投射到一种风格中。
\documentclass[tikz,border=3.14mm]{standalone}
\begin{document}
\begin{tikzpicture}[replace stretch/.style args={from #1 to #2 by #3}{%
/utils/exec=\pgfmathsetmacro{\offlen}{#2-#1},
dash pattern=on #1 off \offlen pt on 10cm,
postaction={#3,dash pattern=on 0pt off #1 on \offlen pt off 10cm}}]
\draw[->,replace stretch={from 5cm to 7cm by {-,draw=green}}] (0,0) -- ++(25:8cm);
\draw[->,replace stretch={from 5cm to 7cm by {-,draw=white}}] (0,1) -- ++(25:8cm) ;
\draw[->,replace stretch={from 5cm to 7cm by {-,draw=none}}] (0,2) -- ++(25:8cm) ;
\end{tikzpicture}
\end{document}