具有半透明度的 TikZ 独立图片转换为 png 后会失去透明度

具有半透明度的 TikZ 独立图片转换为 png 后会失去透明度

我可以使用 TikZ 成功创建 PDF 图形,并使用convert(ImageMagick) 将它们转换为 PNG,以保留透明背景。但是,使用相同的程序,对于我的一些图形,我得到的却是白色背景。似乎只要我在图形中有半透明元素,就会发生这种情况(请参阅另一个 SE 问题,其中这个结论隐含在答案中)。这是在 Mac OS X 上。如果我使用 Inkscape,我可以获得半透明的背景,但它通常会弄乱字体(而且我不知道如何通过 CLI 来做到这一点)。

梅威瑟:

\RequirePackage{luatex85}
\documentclass{standalone}

\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\draw[blue,fill=green,fill opacity=0.1] (0,0) circle (1);
\end{tikzpicture}
\end{document}

之所以\RequirePackage{luatex85}存在,是因为我使用了最新的 LuaTeX,这会导致某些软件包出现问题。使用 进行转换convert -background transparent test.pdf test.png。结果是:

转换后结果

如果fill opacity=0.1删除,结果如下:

转换后的结果,删除了填充不透明度

答案1

convert调用gs( ghostscript) 将 PDF 文件转换为 PNG。gs如果 PDF 文件包含半透明对象,版本 9.10 似乎会产生白色背景。较新版本gs(如 9.19 或 9.20)可产生正确的结果。

在此处输入图片描述

相关内容