【发布时间】:2015-06-05 14:03:36
【问题描述】:
给定一个未知大小的图像作为输入,以下python 脚本在单个pdf 页面中显示它 8 次:
pdf = PdfPages( './test.pdf' )
gs = gridspec.GridSpec(2, 4)
ax1 = plt.subplot(gs[0])
ax1.imshow( _img )
ax2 = plt.subplot(gs[1])
ax2.imshow( _img )
ax3 = plt.subplot(gs[2])
ax3.imshow( _img )
# so on so forth...
ax8 = plt.subplot(gs[7])
ax8.imshow( _img )
pdf.savefig()
pdf.close()
输入图像可以有不同的大小(先验未知)。我尝试使用函数gs.update(wspace=xxx, hspace=xxx) 来更改图像之间的间距,希望matplotlib 会自动调整图像大小并重新分配图像以尽可能少地留白。但是,正如您在下面看到的,它并没有像我预期的那样工作。
有没有更好的方法来实现以下目标?
- 尽可能以最大分辨率保存图像
- 尽可能少的空白
理想情况下,我希望这 8 张图片完全符合 pdf 的页面大小(需要最少的边距)。
【问题讨论】:
-
我的回答能解决你的问题吗?
-
@hitzg - 是的!我一直在等待更多反馈,但后来完全忘记了接受。对不起!
标签: python image pdf matplotlib