python pil如何设置修改图片的长宽,而保持分辨率dpi不变
时间: 2024-10-22 08:05:22 浏览: 32
2.0.0 图片识别_pythonPIL识别图片_
在Python中,PIL(Pillow)是一个用于处理图像的强大库。如果你想要调整图片的尺寸但保持分辨率(DPI,每英寸点数)不变,你需要先了解一点基础:改变尺寸不会直接影响DPI,因为DPI更多地与打印设备有关,而不是文件本身的像素。
然而,PIL提供了一个`thumbnail()`方法可以创建图片缩略图并保持原始的比例,这实际上会按比例缩小图像而不改变DPI。如果你想直接改变宽度和高度,你可以使用`resize()`方法,并传递一个新的元组(宽度,高度)。例如:
```python
from PIL import Image
def resize_image(image_path, new_width, new_height):
with Image.open(image_path) as img:
# 调整尺寸,同时保留原有分辨率
resized_img = img.resize((new_width, new_height), resample=Image.LANCZOS)
resized_img.save('resized_' + image_path)
# 使用示例
resize_image('original.jpg', 800, 600)
```
在这个例子中,`resample=Image.LANCZOS`参数用于选择抗锯齿的插值算法,它能够较好地保持图像质量。如果你不关心质量而只想快速缩放,可以使用`Image.NEAREST`或`Image.BILINEAR`等其他选项。
阅读全文