입력으로 가져온 전체 tikz 그림의 색상 변경

입력으로 가져온 전체 tikz 그림의 색상 변경

다른 tikz 사진에 재사용하고 싶은 작은 이미지가 있습니다.

img.tex 파일에 다음이 포함되어 있다고 가정해 보겠습니다.

\begin{tikzpicture}
    \draw (0,0) circle (1);
\end{tikzpicture} 

다른 이미지의 여러 위치에 나타나기를 원합니다.

\newcommand\mycuteimage[1]{\scalebox{#1}{\input{img}}}

\begin{tikzpicture}
    \draw (0,0) grid (10, 1);
    \foreach \x in {2,5,9}
    {
        \node at (\x - 0.5, 0.5) {\mycuteimage{0.1}};
    }
\end{tikzpicture}

삽입된 이미지의 색상(예: 때로는 빨간색, 때로는 파란색)을 어떻게든 설정할 수 있나요?

예:

\mycuteimage[blue]{0.1}

사용해 봤습니다

{\color{blue} \mycuteimage{0.1}}

하지만 색상을 지정하지 않은 선의 색상만 변경됩니다. 즉, 원본 이미지에서 일부 요소가 빨간색인 경우 빨간색으로 유지됩니다.

답변1

귀하의 제안에는 tikzpicture피해야 하는 s가 중첩되어 있습니다. 티케이Z는 pic그러한 목적을 위해 s를 가지고 있습니다.

\documentclass[tikz,border=3.14mm]{standalone}
\begin{document}
\tikzset{pics/.cd,
my cute pic/.style={code={
    \draw (0,0) circle (1);
}}}

\begin{tikzpicture}
    \draw (0,0) grid (10, 1);
    \edef\LstColors{{"red","green","blue"}}
    \foreach \X [count=\Y starting from 0]in {2,5,9}
    {
        \pgfmathsetmacro{\mycolor}{\LstColors[\Y]}
        \pic at (\X - 0.5, 0.5) [scale=0.1,color=\mycolor]{my cute pic};
    }
\end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

pics매개변수도 사용합니다.

관련 정보