gpt4 book ai didi

python - 如何将 Pillow EPS 调整为 JPG 质量

转载 作者:行者123 更新时间:2023-12-02 11:33:49 25 4
gpt4 key购买 nike

我正在尝试使用 Pillow 将 EPS 图像转换为 JPEG。但结果质量较低。我尝试使用 resize 方法,但它被完全忽略。我将 JPEG 图像的大小设置为 (3600, 4700),但结果图像的大小为 (360, 470)。我的代码是:

eps_image = Image.open('img.eps')
height = eps_image.height * 10
width = eps_image.width * 10
new_size = (height, width)
print(new_size) # prints (3600, 4700)
eps_image.resize(new_size, Image.ANTIALIAS)
eps_image.save(
'img.jpeg',
format='JPEG'
dpi=(9000, 9000),
quality=95)

UPD. Vasu Deo.S 注意到了我的一个错误,多亏了他,JPG 图像变得更大,但质量仍然很低。我尝试了不同的 DPI、尺寸、resize 函数的重新采样值,但结果没有太大变化。我怎样才能让它变得更好?

enter image description here

最佳答案

问题是 PIL 是一个光栅图像处理器,而不是矢量图像处理器。当打开矢量图像(例如 EPS 文件和 SVG 文件)时,它会将矢量图像“栅格化”到网格上,因为它只能处理栅格。

如果该网格没有足够的分辨率,您将永远无法重新获得它。通常,它以 100dpi 进行光栅化,因此如果您想制作更大的图像,则需要在开始之前光栅化到更大的网格。

比较:

from PIL import Image

eps_image = Image.open('image.eps')
eps_image.save('a.jpg')

结果为 540x720:

enter image description here

还有这个:

from PIL import Image

eps_image = Image.open('image.eps')
# Rasterise onto 4x higher resolution grid
eps_image.load(scale=4)
eps_image.save('a.jpg')

结果为 2160x2880:

enter image description here

您现在有足够的质量可以根据需要调整大小。

请注意,您根本不需要编写任何 Python 来执行此操作 - ImageMagick 将为您完成这一切。它包含在大多数 Linux 发行版中,并且可用于 macOS 和 Windows,您只需在终端中使用它。等效命令如下:

magick -density 400 input.eps -resize 800x600 -quality 95  output.jpg

关于python - 如何将 Pillow EPS 调整为 JPG 质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56543825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com