1

我有一个 Python 程序,它用 matplotlib 创建了很多图。然后使用 Python fpdf 模块将这些图像编译成 PDF 报告。

问题是,使用 matplotlib 生成的 PNG 非常慢。使用 FPDF.image() 函数添加每个图像大约需要 2.5 秒。但是,使用 MATLAB 生成的 PNG 图像会在几毫秒内添加。

如果我获取 matplotlib 图像并使用“-alpha off”选项将它们传递给 ImageMagick,则图像会在几毫秒内添加到 PDF 中。所以,似乎 alpha 层可能是罪魁祸首,但我无法弄清楚如何在 matplotlib 中控制它。我试过使用:

fig.savefig(savepath + ".png", transparent=False)

是的,图像仍然需要 2.5 秒才能添加到 PDF。所以也许这是 ImageMagick 对图像所做的其他事情。

通过 ImageMagick 处理所有图像与将原件添加到 PDF 所需的时间大致相同,因此这不是节省时间的选择。

它们是非常简单的情节。所以我不确定可能是什么问题。

这是一个示例图像:

在此处输入图像描述

虽然我想知道这张图片的所有内容是否都保留在这里上传......

编辑:当我在 GIMP 中加载图像时,我确实在原件中看到了 alpha 通道,但没有看到 ImageMagick 输出。所以,似乎就是这样,那么如何防止 matplotlib 添加 Alpha 通道?

4

0 回答 0