如何创建一个具有特定长度的多边形并在里面放置图片?

如何创建一个具有特定长度的多边形并在里面放置图片?

我想创建一个具有以下尺寸的多边形:
请注意:尺寸仅为估计值,可能会有 1-2 毫米的误差。最重要的尺寸是2.5厘米

在此处输入图片描述

想法是制作一个贴纸,并在里面放一个标志。然后应在 DIN A4 页面上尽可能多地填写贴纸,以便裁剪。

这是我的 MWE:

\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary {shapes.geometric, calc}

\begin{document}
\tikzset{hexagon/.style args={#1with image#2[#3]#4(#5)}{%
  regular polygon, regular polygon sides=6,
  path picture={\node{\includegraphics[#3]{#5}};},
  inner sep=0pt,
  draw, thick, minimum size=#1, node contents=}
}%

\tikz{%
  \node at (0,0) [hexagon={2.5cm with image [scale=.5] (example-image-a)}, rotate=90];
}
\end{document}

结果如下:

在此处输入图片描述

但我无法确定尺寸是否正确。

此外我希望这个多边形能够填充一张 DIN A4 纸,以便进行裁剪。

答案1

给出的测量值没有多大意义——它可以是许多不同的六边形,例如

带测量值的斜六边形

- 所以我假设你刚才指的是边长为 2.5 厘米的正六边形。

\documentclass{article}
\usepackage{tikz}
\usepackage[a4paper, hmargin=0.2cm, vmargin=1cm]{geometry}
\tikzset{
hexagon/.pic={
\draw[clip] (30:1) -- (90:1) -- (150:1) -- (210:1) -- (270:1) -- (330:1) -- cycle;
\node {\includegraphics{example-image-a}};
}}
\begin{document}
\pagestyle{empty}
\begin{tikzpicture}
\foreach \x in {0,...,3}{
\pic[scale=2.5, shift={({(\x+0.0)*sqrt(3)},0.0)}] {hexagon};
\pic[scale=2.5, shift={({(\x+0.5)*sqrt(3)},1.5)}] {hexagon};
\pic[scale=2.5, shift={({(\x+0.0)*sqrt(3)},3.0)}] {hexagon};
\pic[scale=2.5, shift={({(\x+0.5)*sqrt(3)},4.5)}] {hexagon};
\pic[scale=2.5, shift={({(\x+0.0)*sqrt(3)},6.0)}] {hexagon};
\pic[scale=2.5, shift={({(\x+0.5)*sqrt(3)},7.5)}] {hexagon};
\pic[scale=2.5, shift={({(\x+0.0)*sqrt(3)},9.0)}] {hexagon};
}
\end{tikzpicture}
\end{document}

充满六边形图片的页面

相关内容