如何缩小服务器上的图片并保存?
安装必要的库
确保你已经安装了Pillow库,这是一个强大的图像处理库,如果没有安装,可以使用以下命令进行安装:
pip install pillow
编写代码
下面是一个简单的示例代码,演示如何读取一张图片、缩小其尺寸并保存到指定位置。
from PIL import Image def resize_image(input_path, output_path, width=None, height=None): """ 缩小图片并保存到指定路径。 :param input_path: 输入图片的文件路径 :param output_path: 输出图片的文件路径 :param width: 目标宽度(可选) :param height: 目标高度(可选) """ try: # 打开原始图片 with Image.open(input_path) as img: print(f"Original size: {img.size}") # 如果提供了宽度或高度,则按比例调整大小 if width and height: img = img.resize((width, height), Image.ANTIALIAS) elif width: ratio = width / float(img.size[0]) new_height = int((float(img.size[1]) * float(ratio))) img = img.resize((width, new_height), Image.ANTIALIAS) elif height: ratio = height / float(img.size[1]) new_width = int((float(img.size[0]) * float(ratio))) img = img.resize((new_width, height), Image.ANTIALIAS) else: raise ValueError("Either width or height must be specified") # 打印调整后的图片尺寸 print(f"Resized size: {img.size}") # 保存调整后的图片 img.save(output_path) print(f"Image saved to {output_path}") except Exception as e: print(f"An error occurred: {e}") 使用示例 input_image_path = 'path/to/your/input/image.jpg' output_image_path = 'path/to/your/output/image.jpg' new_width = 800 # 目标宽度,例如800像素 new_height = None # 保持高度不变,自动按比例调整 resize_image(input_image_path, output_image_path, width=new_width, height=new_height)
解释代码
1、导入库:我们使用了PIL库中的Image
模块来处理图像。
2、定义函数resize_image
:该函数接受四个参数:输入图片路径、输出图片路径、目标宽度和目标高度,如果只提供宽度或高度之一,则会按比例调整图片大小,如果两者都未提供,则会引发错误。
3、打开图片:使用Image.open()
方法打开输入图片。
4、调整大小:根据提供的宽度和高度参数调整图片大小,如果只提供了宽度或高度,则会按比例调整另一维度。
5、保存图片:使用img.save()
方法将调整后的图片保存到指定路径。
6、异常处理:捕获并打印任何可能发生的异常。
运行代码
确保将input_image_path
和output_image_path
替换为你实际的文件路径,然后运行代码即可完成图片的缩小和保存。
这样,你就可以在服务器上自动地缩小图片并保存了,如果你有进一步的需求或问题,欢迎继续提问!
以上就是关于“服务器 缩小图片 并保存”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!
-- 展开阅读全文 --
暂无评论,1人围观