答案1
您不需要做任何特别的事情。唯一麻烦的部分是输入文本。我很可能输入了错别字,如果是这样,请原谅。
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{decorations.markings}
\begin{document}
\tikzset{->-/.style={decoration={ % https://tex.stackexchange.com/a/39282/121799
markings,
mark=at position #1 with {\arrow{>}}},postaction={decorate}}}
\begin{tikzpicture}[font=\sffamily]
\draw[very thick,fill=gray] (0,-0.5) |- (0.4,0.5) |- (3,2)
node[pos=0.75,below]{Boitier} |- (0.4,-2) |- cycle;
\path[fill=yellow] (-1.5,0.4) -| (0.3,0.3) -- (2.8,0) -- (0.3,-0.3) |-
(-1.5,-0.4);
\draw[fill=cyan] (0.1,-0.5) to[bend left=10] (0.1,0.5) to[bend left=10] cycle;
\draw[->-=.5,thick] (-1.5,0.4) node[above]{Lumi\`{e}re} -- (0.3,0.4);
\draw[->-=.5,thick] (-1.5,-0.4) -- (0.3,-0.4);
\draw[->-=.5,thick] (0.3,0.5) coordinate(aux1) -- (0.3,0.3) -- (2.8,0);
\draw[->-=.5,thick] (0.3,-0.5) -- (0.3,-0.3) -- (2.8,0);
\draw[red,dashed,thick] (2.5,0.5) coordinate (aux2) -- (2.5,-0.5);
\draw[thick] (2.8,0.5) -- (2.8,-0.5) coordinate (aux3);
\draw (aux1) -- ++ (-0.2,1.6) node[above left] {Diaphragme};
\draw (0.1,0) -- ++ (-0.3,1) node[above left] {Optique};
\draw (aux2) -- ++ (1,0.5) node[above right] {Obturateur};
\draw (aux3) -- ++ (0.7,-0.5) node[below right,align=left] {Film ou\\ capteur};
\draw (0.2,-0.5) -- ++ (-0.5,-0.5) node[below left]{Objectif};
\end{tikzpicture}
\end{document}