如果你画两个在各方面(位置、大小等)完全相同的圆...除了它们有不同的颜色,那么底层圆圈的“边框”就会显露出来。
\documentclass[10pt]{book}
\usepackage{xcolor}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\fill (0,0) circle (0.1);
\fill[color=red] (0,0) circle (0.1);
\fill[color=red] (0.5,0) circle (0.1);
\end{tikzpicture}
\end{document}
请注意,第一个圆圈周围有一个黑色的“边缘”,与没有黑色边缘的第二个圆圈看起来不同。
该问题是由于对两个圆进行抗锯齿处理并且边缘颜色被混合所导致的。
有没有办法解决这个问题但仍然具有抗锯齿功能?(基本上渲染我需要的所有对象然后正确地对它们进行抗锯齿处理?)
(我意识到 TikZ 可能对此无能为力,但不问就不知道)
答案1
抗锯齿操作是全局的,由 PDF 渲染器完成。
这里,你的例子:
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\fill (0,0) circle (0.1);
\fill[color=yellow] (0,0) circle (0.1);
\fill[color=yellow] (0.21,0) circle (0.1);
\end{tikzpicture}
\end{document}
该命令生成的位图结果:
pdftoppm -r 900 示例.pdf | pnmtopng > 示例.png
以下命令产生的位图结果(该aaVector
选项允许启用或禁用矢量抗锯齿):
pdftoppm -r 900 -aaVector 没有示例.pdf | pnmtopng > example.png
使用 Adobe Reader,您可以启用或禁用抗锯齿功能:
Preferences>>Page Display>>Smooth line art
Evince 不提供禁用抗锯齿的选项。