我如何在 TikZ 中设计此类图片?

我如何在 TikZ 中设计此类图片?

如何在 tikz 中获得下面显示的不带星号的设计。 在此处输入图片描述

任何建议都会有帮助。

答案1

这个答案的所有要素都不是特别困难。但是,获取 2 和 5 的轮廓很繁琐。也许有一种更优雅的方式来获取它们。

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{shadows.blur,decorations.text}
\begin{document}
\begin{tikzpicture}
 \fill[white,blur shadow] (-2.5,-2.5) to[out=0,in=0,looseness=1.8] (-0.1,0.25) -- (0,0.5)
 -- (1.15,0.9) -- (1.25,1.35) to[out=190,in=30] (1,1.25) to[out=210,in=20]
 (-0.1,0.7) -- (-0.4,-0.1) to[out=-3,in=0,looseness=1.8] (-2.5,-2.35) -- cycle;
 \fill[white,blur shadow] (-0.5,-1.2) to[out=90,in=-105] (-0.4,-0.6)
 to[out=75,in=45,looseness=1.7] (-0.6,-0.7) to[out=-135,in=10] (-1.5,-0.9)
 to[out=45,in=-90,looseness=0.9] (-0.45,0.8)
 to[out=90,in=90,looseness=2] (-2,0.7) -- (-1.9,0.7)
 to[out=90,in=90,looseness=1.9] (-0.8,0.7)
 to[out=-90,in=30,looseness=0.9] (-2,-1) |- cycle;
 \begin{scope}[xshift=-0.05cm,yshift=0.05cm]
  \shade[top color=red!70!black,bottom color=red!80!black,shading angle=75] (-2.5,-2.5) to[out=0,in=0,looseness=1.8] (-0.1,0.25) -- (0,0.5)
    -- (1.15,0.9) -- (1.25,1.35) to[out=190,in=30] (1,1.25) to[out=210,in=20]
   (-0.1,0.7) -- (-0.4,-0.1) to[out=-3,in=0,looseness=1.8] (-2.5,-2.35) -- cycle;
  \shade[top color=red!70!black,bottom color=red!80!black,shading angle=75]
   (-0.5,-1.2) to[out=90,in=-105] (-0.4,-0.6)
   to[out=75,in=45,looseness=1.7] (-0.6,-0.7) to[out=-135,in=10] (-1.5,-0.9)
   to[out=45,in=-90,looseness=0.9] (-0.45,0.8)
   to[out=90,in=90,looseness=2] (-2,0.7) -- (-1.9,0.7)
   to[out=90,in=90,looseness=1.9] (-0.8,0.7)
   to[out=-90,in=30,looseness=0.9] (-2,-1) |- cycle;
 \end{scope}
 \begin{scope}
  \clip (-2.5,-2.5) to[out=0,in=0,looseness=1.8] (-0.1,0.25) -| (4,-2.5) --
  cycle;
  \begin{scope}[xshift=1.35cm,yshift=-1.35cm]
   \draw[white,thick,rounded corners=2mm,top color=gray!20,bottom color=gray!20,middle color=gray,
   shading angle=60,blur shadow] (-2,-0.7) rectangle (2,0.7);
   \foreach \X in {20,19,...,0}
   {\ifnum\X=0
   \node[font=\sffamily\bfseries\large,text=red!80!black,align=center] 
   at (0.5+0.0012*\X,-0.001*\X) {SILVER\\{\Large JUBILEE}};
   \else
   \node[font=\sffamily\bfseries\large,text=white,align=center] 
   at (0.5+0.002*\X,-0.001*\X) {SILVER\\{\Large JUBILEE}};
   \fi}
  \end{scope}
 \end{scope}
 \begin{scope}
  \clip ([xshift=-0.05cm,yshift=0.05cm]-0.4,-0.1) 
  to[out=-3,in=0,looseness=1.8] ([xshift=-0.05cm,yshift=0.05cm]-2.5,-2.35)
  -| (-4,-0.1) -- cycle;
  \shade [top color=gray!30,bottom color=gray!30!black,middle
  color=gray!40!black,shading angle=75] 
  (-2,-1.75) -- (-1.9,-1.35) -- (-2.7,-1.35)-- 
  (-2.7,-1.55) to[out=180,in=70] (-2.9,-1.8)
  to[out=30,in=180] (-2.7,-1.75) -- cycle ;
  \shade [top color=gray!30,bottom color=gray!50,shading angle=75] 
  (-2.1,-1.15) -- (-2.4,-1.55) -- (-2,-1.75) -- (-1.9,-1.35) -- cycle;
  \fill [gray!30!black] (-1.9,-1.55) rectangle(0.3,-1.15);
  \shade [top color=gray!30,bottom color=gray!30!black,shading angle=75]
  (-1.9,-1.55) |- (-2.1,-1.15) -- (-2.4,-1.55) -- cycle;
  \node[anchor=west,font=\sffamily,text=gray!50] at (-1.9,-1.35) {Y\,E\,A\,R\,S};
 \end{scope}        
 \path[decoration={text along path,text color=blue!70!black,
                 raise = -0.8ex,
                 text  along path,
                 text = {|\Huge\sffamily\bfseries|CELEBRATING},
                 text align = center,
             },
             decorate
         ] (180:3.5) arc(180:0:3.5 and 2.5);
 \path (90:2.84);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容