![使用 Tikz 绘制 Ubuntu 徽标](https://linux22.com/image/313300/%E4%BD%BF%E7%94%A8%20Tikz%20%E7%BB%98%E5%88%B6%20Ubuntu%20%E5%BE%BD%E6%A0%87.png)
从 Tikz 开始,我尝试绘制 Ubuntu 徽标。
但是一开始我就卡住了,因为我不知道如何画出徽标上的三个间隙。我的想法是画三个矩形并用白色填充它们。但我没能画出这些矩形。
目前,这是我的代码:
\begin{tikzpicture}
\draw (0,0) circle (1.2) ;
\draw (0,0) circle (1) ;
\draw (-1:0) rectangle (1:2) ;
\draw (119:0) rectangle (121:2) ; % not good
\end{tikzpicture}
所以我想对这些矩形应用变换,但我不知道该怎么做。那么如何使用 Tikz 绘制这个徽标?
此外,是否可以在徽标的每个部分应用不同的阴影?
答案1
您可以通过在背景颜色中绘制线条来创建环中的间隙。以类似的方式,可以绘制外部的圆圈:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[baseline=0]
\draw[black, line width=2mm] (0, 0) circle (1.1);
\draw[white, line width=2mm, overlay]
\foreach \a in {0, 120, 240} {
(0, 0) -- ++(\a:1.3)
}
;
\end{tikzpicture}\qquad
\begin{tikzpicture}[baseline=0]
\fill[black] (0, 0) circle(1.2);
\foreach \a in {60, 180, 300} {
\fill[white] (\a:1.35) circle (.4);
\fill[black] (\a:1.35) circle (.3);
}
\end{tikzpicture}
\end{document}
这徽标页Ubuntu 说:
主徽标以艺术品形式提供,不得以任何方式更改、扭曲或重新创建。
尝试在隐私的情况下绘制徽标来学习 TikZ 可能没问题,但这种“重新创作”很可能不允许使用。
而且也不需要太多,因为徽标以 SVG 文件的形式提供。SVG 数据甚至可以在 TikZ 中使用,例如:橙色底白字版本由两个标签组成<path fill="..." d="..."/>
。第一个标签绘制一个填充的彩色圆圈,第二个标签将白色元素放入其中。这可以很容易地转换为 TikZ:
\documentclass{article}
\documentclass{article}
\usepackage{xcolor}
\usepackage{tikz}
\usetikzlibrary{svg.path}
\begin{document}
\begin{tikzpicture}
\definecolor{ubuntu-orange}{HTML}{DD4814}
\fill[ubuntu-orange] svg {...};
\fill[white] svg {...};
\end{tikzpicture}
\end{document}
后面花括号里面的内容是不带引号的标签svg
属性的内容。d
<path>
答案2
这是一个\foreach
绘制朋友圈的简单命令。
输出
代码
\documentclass[margin=10pt]{standalone}
\usepackage{graphicx}
\usepackage{tikz}
\pgfdeclarelayer{fg}
\pgfsetlayers{main,fg}
\newcommand\rad{3cm}
\definecolor{myred}{RGB}{212,0,0}
\definecolor{myorange}{RGB}{244,72,0}
\definecolor{myyellow}{RGB}{251,139,0}
\newcommand{\hug}[3]{
\begin{scope}[shift={(0,0)}, rotate=#1]
\draw[#2, line width=1.5cm] (\rad,0) arc (0:120:\rad) node[circle, fill=#3, minimum size=1.8cm, draw=white, line width=2.8mm] at (57.5:\rad*1.2) {};
\begin{pgfonlayer}{fg}\node[rectangle, fill=white,rotate=#1, minimum height=3mm, minimum width=1.6cm] at (\rad,0) {};\end{pgfonlayer}
\end{scope}
}
\begin{document}
\begin{tikzpicture}
\foreach \angle/\cola/\colb in {0/myorange/myred, 120/myyellow/myorange, 240/myorange/myyellow}{
\hug{\angle}{\cola}{\colb}
}
\end{tikzpicture}
\end{document}