如何缩小服务器上的图片并保存?

小贝
预计阅读时长 9 分钟
位置: 首页 抖音 正文

安装必要的库

确保你已经安装了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_pathoutput_image_path替换为你实际的文件路径,然后运行代码即可完成图片的缩小和保存。

这样,你就可以在服务器上自动地缩小图片并保存了,如果你有进一步的需求或问题,欢迎继续提问!

以上就是关于“服务器 缩小图片 并保存”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!

-- 展开阅读全文 --
头像
如何利用foreach循环遍历表格数据库?
« 上一篇 2024-12-15
如何建立存储与服务器之间的连接?
下一篇 » 2024-12-15
取消
微信二维码
支付宝二维码

发表评论

暂无评论,1人围观

目录[+]