国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

您現在的位置是:首頁 » python編程資訊

資訊內容

python中如何實現圖片壓縮

極客小將2021-01-16-
簡介python實現圖片壓縮的方法:1、導入Image包;2、使用get_size(file)命令獲取圖片文件的大小;3、使用【os.path.splitext()】方式拼接文件地址;然后壓縮文件到指定大小;4、修改圖片尺寸即可。一、導入包from PIL import I

python實現圖片壓縮的方法:1、導入Image包;2、使用get_size(file)命令獲取圖片文件的大小;3、使用【os.path.splitext()】方式拼接文件地址;然后壓縮文件到指定大小;4、修改圖片尺寸即可。4ps少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

4ps少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

一、導入包4ps少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

from PIL import Image import os

二、獲取圖片文件的大小
4ps少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

def get_size(file):             # 獲取文件大小:KB                size = os.path.getsize(file)            return size / 1024

三、拼接輸出文件地址
4ps少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

def get_outfile(infile, outfile):         if outfile:                return outfile             dir, suffix = os.path.splitext(infile)    outfile = '{}-out{}'.format(dir, suffix)         return outfile

四、壓縮文件到指定大小4ps少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

def compress_image(infile, outfile='', mb=150, step=10, quality=80):          """不改變圖片尺寸壓縮到指定大小               :param infile: 壓縮源文件               :param outfile: 壓縮文件保存地址               :param mb: 壓縮目標,KB               :param step: 每次調整的壓縮比率               :param quality: 初始壓縮比率               :return: 壓縮文件地址,壓縮文件大小           """               o_size = get_size(infile)            if o_size <= mb:                     return infile                     outfile = get_outfile(infile, outfile)            while o_size > mb:                           im = Image.open(infile)                           im.save(outfile, quality=quality)                   if quality - step < 0:                            break                           quality -= step                           o_size = get_size(outfile)           return outfile, get_size(outfile)

五、修改圖片尺寸4ps少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

def resize_image(infile, outfile='', x_s=1376):           """修改圖片尺寸              :param infile: 圖片源文件              :param outfile: 重設尺寸文件保存地址              :param x_s: 設置的寬度              :return:           """              im = Image.open(infile)              x, y = im.size              y_s = int(y * x_s / x)              out = im.resize((x_s, y_s), Image.ANTIALIAS)              outfile = get_outfile(infile, outfile)              out.save(outfile) if __name__ == '__main__':           compress_image(r'D:learnspace.jpg')           resize_image(r'D:learnspace.jpg')

推薦課程:Python進階視頻教程4ps少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

預約試聽課

已有385人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 肇东市| 中方县| 肥城市| 门头沟区| 赣州市| 阿克陶县| 伊春市| 六枝特区| 安岳县| 清丰县| 都昌县| 瓦房店市| 卓尼县| 文成县| 齐河县| 临城县| 吴江市| 博罗县| 德令哈市| 敖汉旗| 奉新县| 尚义县| 阜康市| 衡阳县| 唐海县| 鲜城| 独山县| 玉环县| 安溪县| 合阳县| 南城县| 磐安县| 县级市| 册亨县| 襄城县| 浏阳市| 富民县| 疏勒县| 阳原县| 淳安县| 桦川县|