
Considere o 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}
com a saída:
PERGUNTA: Meu caminho de recorte é um circuito fechado; e assim, a produção é a porção externa do capitalA. Como posso concluir a extração da cartaA--- recortando também --- a parte interna apropriada da cartaA?
Obrigado.
Responder1
Adicione o triângulo interno do "A" no sentido anti-horário (usando a "regra diferente de zero") ao seu caminho, tornando-o:
(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)
Ao fazer um caminho fechado, é melhor usar cycle
em vez de repetir a primeira coordenada. Isso faz o caminho:
(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