這篇文章主要介紹Python如何實現(xiàn)圖片尺寸縮放腳本,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Python如何實現(xiàn)圖片尺寸縮放腳本
實現(xiàn)方法:
# coding=utf-8 import Image import shutil import os class Graphics: infile = 'D:\\myimg.jpg' outfile = 'D:\\adjust_img.jpg' @classmethod def fixed_size(cls, width, height): """按照固定尺寸處理圖片""" im = Image.open(cls.infile) out = im.resize((width, height),Image.ANTIALIAS) out.save(cls.outfile) @classmethod def resize_by_width(cls, w_divide_h): """按照寬度進行所需比例縮放""" im = Image.open(cls.infile) (x, y) = im.size x_s = x y_s = x/w_divide_h out = im.resize((x_s, y_s), Image.ANTIALIAS) out.save(cls.outfile) @classmethod def resize_by_height(cls, w_divide_h): """按照高度進行所需比例縮放""" im = Image.open(cls.infile) (x, y) = im.size x_s = y*w_divide_h y_s = y out = im.resize((x_s, y_s), Image.ANTIALIAS) out.save(cls.outfile) @classmethod def resize_by_size(cls, size): """按照生成圖片文件大小進行處理(單位KB)""" size *= 1024 im = Image.open(cls.infile) size_tmp = os.path.getsize(cls.infile) q = 100 while size_tmp > size and q > 0: print q out = im.resize(im.size, Image.ANTIALIAS) out.save(cls.outfile, quality=q) size_tmp = os.path.getsize(cls.outfile) q -= 5 if q == 100: shutil.copy(cls.infile, cls.outfile) @classmethod def cut_by_ratio(cls, width, height): """按照圖片長寬比進行分割""" im = Image.open(cls.infile) width = float(width) height = float(height) (x, y) = im.size if width > height: region = (0, int((y-(y * (height / width)))/2), x, int((y+(y * (height / width)))/2)) elif width < height: region = (int((x-(x * (width / height)))/2), 0, int((x+(x * (width / height)))/2), y) else: region = (0, 0, x, y) #裁切圖片 crop_img = im.crop(region) #保存裁切后的圖片 crop_img.save(cls.outfile)
以上是“Python如何實現(xiàn)圖片尺寸縮放腳本”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文題目:Python如何實現(xiàn)圖片尺寸縮放腳本-創(chuàng)新互聯(lián)
當前鏈接:http://muchs.cn/article0/ceehio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、Google、建站公司、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容