資訊內(nèi)容
python中如何實現(xiàn)圖片壓縮
python實現(xiàn)圖片壓縮的方法:1、導(dǎo)入Image包;2、使用get_size(file)命令獲取圖片文件的大小;3、使用【os.path.splitext()】方式拼接文件地址;然后壓縮文件到指定大小;4、修改圖片尺寸即可。4ps少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
4ps少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
一、導(dǎo)入包4ps少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
from PIL import Image import os二、獲取圖片文件的大小
4ps少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
三、拼接輸出文件地址
4ps少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
四、壓縮文件到指定大小4ps少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
def compress_image(infile, outfile='', mb=150, step=10, quality=80): """不改變圖片尺寸壓縮到指定大小 :param infile: 壓縮源文件 :param outfile: 壓縮文件保存地址 :param mb: 壓縮目標(biāo),KB :param step: 每次調(diào)整的壓縮比率 :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少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
def resize_image(infile, outfile='', x_s=1376): """修改圖片尺寸 :param infile: 圖片源文件 :param outfile: 重設(shè)尺寸文件保存地址 :param x_s: 設(shè)置的寬度 :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少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺
- 上一篇
總結(jié)2020年最強Python庫
簡介2020年已經(jīng)過去了,國外的一家專門提供Python服務(wù)的網(wǎng)站TroyLabs,盤點出了2020年發(fā)布的Python庫Top10。上榜的有FastAPI的升級版Typer、將CLI變成彩色的Rich、基于GUI框架的DearPyGui、還有精簡報錯信息的PrettyErrors……總有一款是你想要的
- 下一篇
傳授 每30秒學(xué)會一個Python小技巧
簡介很多學(xué)習(xí)Python視頻教程的朋友在項目實戰(zhàn)中會遇到不少功能實現(xiàn)上的問題,有些問題并不是很難的問題,或者已經(jīng)有了很好的方法來解決。當(dāng)然,孰能生巧,當(dāng)我們代碼熟練了,自然就能總結(jié)一些好用的技巧,不過對于那些還在剛熟悉Python的同學(xué)可能并不會那么輕松。推薦(免費):Python視頻教程本次給大家推薦
