从TikZ图形转换ImageMagick产生奇怪的结果 预期结果实际结果

问题描述

问题

使用TikZ和独立版本转换为png时,我得到两个不同的结果。 当我直接使用ImageMagick 6.8 convert from.pdf to.png时,也会发生同样的情况。

为什么会这样...?

预期结果

输出应类似于

enter image description here

实际结果

运行lualatexconvert tikzmwe.pdf tikzmwe.png的结果是相同的,并导致以下png。

enter image description here

convert也给我以下消息:

convert: profile 'icc': 'RGB ': RGB color space not permitted on grayscale PNG 'tikzmwe.png' @ warning/png.c/MagickPNGWarningHandler/1748.

最少的工作示例

\documentclass[varwidth=true,border=0pt,convert={outext=.png}]{standalone}
\usepackage{tikz}
\usepackage{xcolor}
\newcommand{\sharedkey}{%
    \raiseBox{-.5 ex}{\tikz{%
    \draw[fill=blue,draw=white] (0ex,0) arc(90:270:1ex) -- cycle;
    \draw[fill=red,0) arc(90:-90:1ex) -- cycle; }}}
\begin{document}
\(x = \sharedkey\)
\end{document}

使用lualatex -shell-escape tikzmwe.tex进行编译。

谢谢!

解决方法

在我看来,这似乎是ImageMagick的错误。我检查了两个版本,得到了不同的结果:

无法复制:

  • 版本:ImageMagick 6.8.9-9 Q16 x86_64 2019-11-12

可以复制:

  • 版本:ImageMagick 6.9.11-24 Q16 x86_64 20200718

    (不过看不到警告)

圆圈的一半是draw=white的白色:使用其他笔触颜色时,圆圈的下半部分完全用该颜色填充。

我无法检查当前的ImageMagick7。只有可以在当前稳定版本上重现该错误的情况下,才可以提交错误。