用图像填充多边形节点并旋转它

用图像填充多边形节点并旋转它

我需要用图像填充三角形节点,并以各种角度旋转它。我用图像填充节点的方法是基于这个,如果我的节点没有旋转或旋转 180 度,它工作得很好。但对于其他旋转角度,节点和图像不会同步旋转。我怀疑问题涉及锚点,我试过了anchor=center,但没有效果。

梅威瑟:

\documentclass[margin=5pt]{standalone}
\usepackage{mwe}
\usepackage{tikz}
\usepgflibrary{shapes.geometric}
\begin{document}

    \begin{tikzpicture}[
        tile/.style={regular polygon, 
          regular polygon sides=3, 
          draw,
          minimum width=5cm, 
          minimum height=5cm, 
          rotate=#1, 
          path picture={
               \node at (path picture bounding box.center){
                   \includegraphics[width=5cm,angle=#1]{example-image-a}
               };
          }}
    ]

        % node 1, not rotated
        \node[tile={0}] at (0,0) {};
        % node 2, rotated 180
        \node[tile={180}] at (5,0) {};
        % node 3, rotated 120
        \node[tile={120}] at (0,-5) {};
        % node 4, rotated 57
        \node[tile={57}] at (5,-5) {};

    \end{tikzpicture}       

\end{document}  

结果:

在此处输入图片描述

后续问题:如果节点和图像已经以不同的角度旋转,该怎么办?例如,如果我想用“正面朝上”的图像填充“倒置”三角形,那么我必须rotate=180对节点使用,但angle=0对图像使用。然后我想以这些角度作为起点旋转整个物体。

答案1

总是path picture bounding box一个边缘水平或垂直的盒子,这解释了位移。因此,您需要随节点旋转的锚点。

\documentclass[margin=5pt]{standalone}
\usepackage{mwe}
\usepackage{tikz}
\usepgflibrary{shapes.geometric}
\begin{document}

    \begin{tikzpicture}[
        tile/.style={regular polygon,name=3gon, 
          regular polygon sides=3, 
          draw,
          minimum width=5cm, 
          minimum height=5cm, 
          rotate=#1, 
          path picture={
               \node at ([yshift=0.6cm]3gon.center){
                   \includegraphics[width=5cm,angle=#1]{example-image-a}
               };
          }}
    ]

        % node 1, not rotated
        \node[tile={0}] at (0,0) {};
        % node 2, rotated 180
        \node[tile={180}] at (5,0) {};
        % node 3, rotated 120
        \node[tile={120}] at (0,-5) {};
        % node 4, rotated 57
        \node[tile={57}] at (5,-5) {};

    \end{tikzpicture}       

\end{document} 

在此处输入图片描述

如果您想赋予这些节点不同的名称,请使用别名。

相关内容