zoukankan      html  css  js  c++  java
  • python缩小图片

    直接代码

    from PIL import Image
    
    # 读取需要调整的图片
    img = r'b.png'
    
    
    im = Image.open(img)
    
    size = im.size
    
    im.thumbnail(size)
    # 图片格式不能保存为PNG,否则图片大小可能会变大 im.save(
    '666.jpeg')

     封装一个函数,小于1m大小的图片不缩小

    # 压缩图片大小方法
        def photo_compress(b64_data):
            """
            注意:仅能处理图片格式,pdf等其他格式不行
            :param b64_data: 需要压缩的base64格式的文件
            :return:  压缩后的base64格式的文件
            """
    
            binary_data = base64.b64decode(b64_data)
            with io.BytesIO(binary_data) as im:
                # 判断二进制大小,小于1m的不做处理
                image_b = im.read()
                binary_size = len(image_b)
                if binary_size / 1e6 < 1:
                    return b64_data
                # 二进制转化为PIL
                im = Image.open(im)
                # 获取图片宽高大小
                size = im.size
                # 压缩图片
                im.thumbnail(size)
                # 将图片以jpeg格式的bs64返回
                bytesIO = io.BytesIO()
                im.save(bytesIO, format='JPEG')
                data = bytesIO.getvalue()
                b64_return = base64.b64encode(data)
    
            return b64_return
  • 相关阅读:
    pycharm 快捷键
    jquery .on
    javaweb项目的优化
    python笔记
    git上解决代码冲突(merge版)
    OpenERP里面继承的用法
    OpenERP新手易犯错误之res.model
    bootstrap 仿实例
    深入理解Binder(二),Binder是什么?
    深入理解Binder(一),从AIDL谈起
  • 原文地址:https://www.cnblogs.com/JackShi/p/15019669.html
Copyright © 2011-2022 走看看