![如何创建一个具有特定长度的多边形并在里面放置图片?](https://linux22.com/image/473610/%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%85%B7%E6%9C%89%E7%89%B9%E5%AE%9A%E9%95%BF%E5%BA%A6%E7%9A%84%E5%A4%9A%E8%BE%B9%E5%BD%A2%E5%B9%B6%E5%9C%A8%E9%87%8C%E9%9D%A2%E6%94%BE%E7%BD%AE%E5%9B%BE%E7%89%87%EF%BC%9F.png)
我想创建一个具有以下尺寸的多边形:
请注意:尺寸仅为估计值,可能会有 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}