我有一张图像(在本例中是彩色的预定义图像),我想以围绕固定点和指定半径的圆形方式显示它。
考虑产生要显示的图像的最小(不起作用)示例,但不是我想要产生的圆形显示:
\documentclass{book}
\usepackage{xcolor,graphicx}
\usepackage{transparent}
\usepackage{tikz}
\begin{document}
\begin{center}
\includegraphics[width=4em,height=5em]{example-image}\llap{\texttransparent{0.5}{\color{green}\rule{4em}{5em}}}
\end{center}
\vspace*{35pt}
\begin{center}
\begin{tikzpicture}
\fill[blue!65] rectangle (8,6);
\foreach \k in {0,30,...,360}
{\includegraphics[width=.2em]{example-image-b}{($(4,3)+(\k:2$)}}
\end{tikzpicture}
\end{center}
\end{document}
输出
代码的编译(使用pdflatex
)没有给出错误,但是正如你所看到的,蓝色图像不包含绿色图像的圆形显示。
问题:如何修改代码以生成绿色图像的圆形显示,例如,在中心 (4,3),半径为 2,并且图像以 30 度间隔重复出现?(我已指定图像宽度为 .2em,但在查看第一次成功的显示后可能需要进行调整。)
谢谢。
答案1
我不知道您到底想要显示哪种类型的图像,但您可以通过将其插入节点并使用 foreach 循环放置所有这些节点来实现。别忘了加载库calc
。
\documentclass{book}
\usepackage{xcolor,graphicx}
\usepackage{transparent}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{center}
\includegraphics[width=4em,height=5em]{example-image}\llap{\texttransparent{0.5}{\color{green}\rule{4em}{5em}}}
\end{center}
\vspace*{35pt}
\begin{center}
\begin{tikzpicture}
\fill[blue!65] rectangle (8,6);
\foreach \k in {0,30,...,360}
\node at ($(4,3)+(\k:2)$) {\includegraphics[width=.2em]{example-image-b}};
\end{tikzpicture}
\end{center}
\end{document}
这是您要找的东西吗?