У меня есть программа 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, так что это не позволяет сэкономить время .
Это очень простые сюжеты. Поэтому я не уверен, в чем может быть проблема.
Вот пример изображения:
Хотя мне интересно, все ли Это изображение защищено от загрузки здесь ...
Редактировать: Когда я загружаю изображение в GIMP, я вижу альфа-канал в оригиналах, но не в выходах ImageMagick. Похоже, что так, как я могу предотвратить добавление альфа-канала в matplotlib?