tikz 사용자 정의 기호를 그릴 때 너비와 길이에 대한 비율에 따라 좌표에 액세스합니다.

tikz 사용자 정의 기호를 그릴 때 너비와 길이에 대한 비율에 따라 좌표에 액세스합니다.

\wdtikz에서 이와 같은 작업을 수행할 수 있지만 모양 너비를 어떻게 정의합니까 ?

\makeatletter
\pgfdeclareshape{myshape}{%
  \inheritsavedanchors[from=rectangle]%
  \inheritanchorborder[from=rectangle]%
  \inheritanchor[from=rectangle]{center}%
  %
  \backgroundpath{%
    \southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
    \northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
    \pgfpathmoveto{\pgfpoint{\pgf@xa+0.5\wd}{\pgf@ya}}
    \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}}
  }%
}
\makeatother

답변1

흠 이것이 효과가 있는 것 같습니다. 남서쪽 지점의 부정에 북동쪽 지점의 좌표를 추가할 수 있습니다.

\newdimen{\pgf@dx}
\pgfextractx{\pgf@dx}{\pgfpointadd{\northeast}{\pgfpointscale{-1}{\southwest}}}

답변2

너비를 구하는 공식적인 방법은 다음과 같습니다.

\southwest%
\pgf@xa=\pgf@x%
\northeast%
\advance\pgf@x by-\pgf@xa%

pgfmoduleshapes.code.tex1036-1040번 줄 에서 보실 수 있어서 이 관계자에게 전화드립니다.

북쪽 닻을 얻기 위한 최단 경로는 다음과 같습니다.

\southwest%
\pgf@xa=.5\pgf@x%
\northeast%
\advance\pgf@xa by.5\pgf@x%

관련 정보