Python maplotlib PNG и FPDF - PullRequest
       70

Python maplotlib PNG и FPDF

1 голос
/ 09 апреля 2020

У меня есть программа Python, которая создает множество графиков с помощью matplotlib. Эти изображения затем компилируются в отчет PDF с использованием модуля Python fpdf.

Проблема в том, что с PNG, созданными с помощью matplotlib, это происходит крайне медленно. Для добавления каждого изображения требуется около 2,5 секунд с помощью функции FPDF.image (). Однако изображения PNG, созданные с помощью MATLAB, добавляются в миллисекундах.

Если я возьму изображения matplotlib и пропущу их через ImageMagick с опцией -alpha off, изображения будут добавлены в PDF в миллисекундах. Так что, кажется, виноваты альфа-слои, но я не могу понять, как это контролировать в matplotlib. Я попытался использовать:

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

Да, изображения все еще занимают 2,5 секунды, чтобы добавить в PDF. Так что, возможно, это что-то еще, что ImageMagick делает с изображениями.

Обработка всех изображений с помощью ImageMagick занимает примерно такое же время для каждого изображения, как и добавление оригиналов в PDF, так что это не позволяет сэкономить время .

Это очень простые сюжеты. Поэтому я не уверен, в чем может быть проблема.

Вот пример изображения:

enter image description here

Хотя мне интересно, все ли Это изображение защищено от загрузки здесь ...

Редактировать: Когда я загружаю изображение в GIMP, я вижу альфа-канал в оригиналах, но не в выходах ImageMagick. Похоже, что так, как я могу предотвратить добавление альфа-канала в matplotlib?

...