Extrahieren eines Innenteils aus einem Tikz-ClipPicture

Extrahieren eines Innenteils aus einem Tikz-ClipPicture

Betrachten Sie das MWE:

\documentclass{article}
    \usepackage{tikz}
    \usepackage{graphicx}

% % COMPILED WITH PDFLATEX

    \newif\ifdeveloppath
    \tikzset{/tikz/develop clipping path/.is if=developpath,
      /tikz/develop clipping path=true}

    \newcommand{\clippicture}[2]{
      \begin{tikzpicture}
      \ifdeveloppath
      \node[anchor=south west,inner sep=0] (image) at (0,0) {\includegraphics[width=1.0\linewidth,keepaspectratio]{example-image-a}};
    \else
      \node[anchor=south west,inner sep=0] (image) at (0,0) {\phantom{\includegraphics[width=1.0\linewidth,keepaspectratio]{example-image-a}}};
    \fi
    \pgfresetboundingbox
    \begin{scope}[x={(image.south east)},y={(image.north west)}]
      % Draw grid 
      \ifdeveloppath
        \draw[help lines,xstep=.02,ystep=.02] (0,0) grid (1,1);
        \foreach \x in {0,1,...,9} { \node [anchor=north] at (\x/10,0) {0.\x}; }
        \foreach \y in {0,1,...,9} { \node [anchor=east] at (0,\y/10) {0.\y}; }
        \draw[red, ultra thick] #2 -- cycle;
      \else
        % Use the path to clip
        \path[clip] #2 -- cycle;
        \node[anchor=south west,inner sep=0pt] {\includegraphics[width=1.0\linewidth,keepaspectratio]{example-image-a}};
      \fi
    \end{scope}
    \end{tikzpicture}
    }

\begin{document}
\thispagestyle{empty}

     \clippicture{[width=1.0\textwidth]{some-image}}{(0.359,0.268) -- (0.48,0.73) -- (0.52,0.73) -- (0.64,0.27) -- (0.60,0.27) -- (0.562,0.403) -- (0.43,.403) -- (0.395, 0.268) -- (0.359,0.268)}

\newpage
\thispagestyle{empty}

    \tikzset{develop clipping path=false}

\begin{center}
    \clippicture{[width=1.0\textwidth]{some-image}}{(0.359,0.268) -- (0.48,0.73) -- (0.52,0.73) -- (0.64,0.27) -- (0.60,0.27) -- (0.562,0.403) -- (0.43,.403) -- (0.395, 0.268) -- (0.359,0.268)}
\end{center}
\end{document}

mit der Ausgabe:

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

FRAGE: Mein Beschneidungspfad ist ein geschlossener Kreis; die Ausgabe ist also der äußere Teil des GroßbuchstabensA. Wie kann ich die Extraktion des Briefes abschließen?Aindem man auch den entsprechenden inneren Teil des Buchstabens ausschneidetA?

Danke schön.

Antwort1

Fügen Sie das innere Dreieck des „A“ gegen den Uhrzeigersinn (unter Verwendung der „Nicht-Null-Regel“) zu Ihrem Pfad hinzu, sodass Folgendes entsteht:

(0.359,0.268) -- (0.48,0.73) -- (0.52,0.73) -- (0.64,0.27) -- (0.60,0.27) -- (0.562,0.403) -- (0.43,.403) -- (0.395, 0.268) -- (0.359,0.268) (0.440,0.438) -- (0.555,0.438) -- (0.498,0.675)  -- (0.44,0.44)

Ein „A“ auf einem grauen Gitter mit roter Umrandung Ein "A"

Beim Erstellen eines geschlossenen Pfads ist es besser, cyclestatt der Wiederholung der ersten Koordinate zu verwenden. Dadurch ergibt sich für den Pfad:

(0.359,0.268) -- (0.48,0.73) -- (0.52,0.73) -- (0.64,0.27) -- (0.60,0.27) -- (0.562,0.403) -- (0.43,.403) -- (0.395, 0.268) -- cycle (0.440,0.438) -- (0.555,0.438) -- (0.498,0.675) -- cycle

verwandte Informationen