在Python中,你可以使用Pillow库来改变图片的像素大小并保存。以下是一个简单的示例代码,演示如何将图片的像素大小调整为50x50像素并保存:
from PIL import Image
打开图片
img = Image.open('image.jpg')
调整图片大小为50x50像素
img_resized = img.resize((50, 50))
保存调整后的图片
img_resized.save('resized_image.jpg')
print('图片的像素值大小已经调整为50x50像素')
请确保在运行代码之前已经安装了Pillow库,可以通过以下命令安装:
pip install Pillow
如果你需要调整图片大小的同时考虑DPI(每英寸点数),可以使用以下代码:
from PIL import Image
import os
def resize_and_save_image(input_image_path, output_image_path, new_width, dpi=350):
打开图片
img = Image.open(input_image_path)
调整图像大小
img_resized = img.resize((new_width, int(img.height * new_width / img.width)))
设置 DPI
img_resized.info['dpi'] = dpi
保存为 JPG 格式并压缩图像
quality = 85
while True:
保存图片并指定质量
img_resized.save(output_image_path, 'JPEG', dpi=dpi, quality=quality)
检查文件大小
file_size_kb = os.path.getsize(output_image_path) / 1024 获取文件大小,单位为KB
如果文件大小在目标范围内,退出循环
if 14 <= file_size_kb <= 20:
print(f'Image size adjusted to {new_width}x{int(img.height * new_width / img.width)} pixels and saved as {output_image_path}')
break
根据文件大小微调质量
quality -= 5
if quality < 0:
quality = 0
resize_and_save_image('image.jpg', 'resized_image.jpg', 500)
这个函数会调整图片大小,设置DPI,并保存为JPEG格式,同时通过循环调整图片质量,直到文件大小在14到20KB之间。