考虑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}
输出为:
问题:我的剪切路径是一条闭合电路;因此,输出是大写字母的外部A. 我怎样才能完成这封信的提取A剪掉信件内部的相应部分A?
谢谢。
答案1
将“A”的内三角形逆时针添加到您的路径中(使用“非零规则”),使其:
(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)
当创建封闭路径时,最好使用cycle
而不是重复第一个坐标。这使得路径:
(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