Python Wand Scaling问题

时间:2016-11-05 05:03:11

标签: python wand

我正在使用Python Wand模块(版本0.4.3。)将以pdf格式存储的图像转换为PNG。当我将最终图像保存在其原始图像的宽度和高度时,最终的PNG质量非常好。但是,当我尝试将其保存到较小的图像时,最终PNG变得模糊,质量不是那么好。

显示两张图片之间的差异here。顶部图像转换为原始大小(10800x7200像素)。第二个是规模到1250x833px。

有什么方法可以改善第二张图片吗?我玩过不同的滤镜和模糊设置。但是,无法获得我想要的图像质量。任何帮助是极大的赞赏。

我曾用于将PDF转换为原始大小的png代码:

 def pdf_to_png(pdf_name, res):
      with Image(filename=pdf_name,  resolution=res) as img:
           with Image(width=img.width,height=img.height, background=Color("white")) as bg:
                bg.composite(img,0,0)`
                bg.save(filename="Drawing_improved_wand.png")`
 pdf_to_png('Drawing_1.pdf', 300)

调整大小的代码png:

 with Image(filename="Drawing_1.pdf",  resolution=(300,300)) as img:
      with Image(width=1250, height=833, background=Color("white")) as bg:
           img.resize(1250, 833,filter='undefined', blur=1)
           img.format = 'png'
           bg.composite(img,0,0)
           bg.save(filename='Drawing_improved_wand1250x833.png')

2 个答案:

答案 0 :(得分:0)

这可能是由于ImageMagick如何处理PDF文本+向量的光栅化效率低下,而不是因为你做错了什么。大型PNG可能与小型PNG具有相同的问题,但由于分辨率几乎高出一个数量级,因此效果变得难以察觉。

如果导出到大型PNG时文件看起来不错,我会将其用于进一步处理(如缩小)而不是PDF。

答案 1 :(得分:0)

你试着设置模糊< 1?

例如:

img.resize(1250, 833,filter='undefined', blur=0.1)