欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python制作圖片縮略圖

 更新時(shí)間:2019年04月30日 09:32:54   作者:愛python的王三金  
這篇文章主要為大家詳細(xì)介紹了python制作圖片縮略圖的相關(guān)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

縮略圖

在很多時(shí)候我們都需要將圖片按照同比例縮小有利于存儲(chǔ) 但是一張張手動(dòng)去改的話太麻煩了 今天我們就用python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的將一個(gè)文件夾中的所有圖片進(jìn)行指定大小的調(diào)整

縮略前:

代碼:

import os
import glob
from PIL import Image

def thumbnail_pic(path):
 #glob.glob(pathname),返回所有匹配的文件路徑列表
 a=glob.glob(r'./img/*.jpg')
 for x in a:
 name=os.path.join(path,x)
 im=Image.open(name)
 im.thumbnail((80,80))
 print(im.format,im.size,im.mode)
 im.save(name,'JPEG')
 print('Done!')

if __name__=='__main__':
 path='.'
 thumbnail_pic(path)

縮略后:

參數(shù)使用說明:

1、os模塊,python的os模塊封裝了常見的文件和目錄操作。
2、PIL模塊中Image類thumbnail()方法可以用來制作縮略圖,它接受一個(gè)二元數(shù)組作為縮略圖的尺寸,然后將示例縮小到指定尺寸。

Image.resize()和Image.thumbnail()的區(qū)別
根據(jù)代碼和代碼注釋, 這兩個(gè)函數(shù)都是對(duì)圖片進(jìn)行縮放, 兩者的主要區(qū)別如下:

  • resize()函數(shù)會(huì)返回一個(gè)Image對(duì)象, thumbnail()函數(shù)返回None
  • resize()修改后的圖片在返回的Image中, 而原圖片沒有被修改;
  • thumbnail()直接對(duì)內(nèi)存中的原圖進(jìn)行了修改, 但是修改需要保存
  • resize()中的size參數(shù)直接設(shè)定了resize之后圖片的規(guī)格,而thumbnail()中的size參數(shù)則是設(shè)定了x/y上的最大值. 也就是說, 經(jīng)過resize()處理的圖片可能會(huì)被拉伸,而經(jīng)過thumbnail()處理的圖片不會(huì)被拉伸
  • thumbnail()函數(shù)內(nèi)部調(diào)用了resize(), 可以認(rèn)為thumbnail()是對(duì)resize()的一種封裝

使用scrapy爬蟲框架制作縮略圖

Images Pipeline為處理圖片提供了額外的功能:

  • 將所有下載的圖片格式轉(zhuǎn)換成普通的JPG并使用RGB顏色模式
  • 生成縮略圖
  • 檢查圖片的寬度和高度確保它們滿足最小的尺寸限制

管道同時(shí)會(huì)在內(nèi)部保存一個(gè)被調(diào)度下載的URL列表,然后將包含相同媒體的相應(yīng)關(guān)聯(lián)到這個(gè)隊(duì)列上來,從而防止了多個(gè)item共享這個(gè)媒體時(shí)重復(fù)下載。

ImagesPipeline使用Pillow來生成縮略圖以及轉(zhuǎn)換成標(biāo)準(zhǔn)的JPEG/RGB格式。因此你需要安裝這個(gè)包,我們建議你使用Pillow而不是PIL。

配置setting.py

# 同時(shí)使用圖片和文件管道
ITEM_PIPELINES = {
   'scrapy.pipelines.images.ImagesPipeline': 1,
   'scrapy.pipelines.files.FilesPipeline': 2,
   }
# 指定圖片字段
IMAGES_URLS_FIELD = 'images'
IMAGES_STORE = '/path/to/valid/dir' # 圖片存儲(chǔ)路徑
# 文件過期90天
FILES_EXPIRES = 90
# 圖像過期延遲30天
IMAGES_EXPIRES = 30
# 圖片縮略圖
IMAGES_THUMBS = {
 'small': (50, 50),
 'big': (270, 270),
}
# 圖片過濾器,最小高度和寬度
IMAGES_MIN_HEIGHT = 110
IMAGES_MIN_WIDTH = 110

pipeline.py文件

class YuehuiImagePipeline(ImagesPipeline):
 def item_completed(self, results, item, info):
 if results[0][0]:
  item['image_path'] = results[0][1]['path']
 else:
  item['image_path'] = ''

 return item

items.py

class YuehuiItem(scrapy.Item):
 uid= scrapy.Field()
 height = scrapy.Field()
 weight = scrapy.Field()
 images = scrapy.Field() #頭像url字段 要求列表 在setting文件中配置
 image_path = scrapy.Field()

以上為個(gè)人使用scrapy保存縮略圖的總結(jié)。

相關(guān)文章

  • Python中判斷subprocess調(diào)起的shell命令是否結(jié)束

    Python中判斷subprocess調(diào)起的shell命令是否結(jié)束

    這篇文章主要介紹了Python中判斷subprocess調(diào)起的shell命令是否結(jié)束的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • python opencv之分水嶺算法示例

    python opencv之分水嶺算法示例

    這篇文章主要介紹了python opencv之分水嶺算法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • python嵌套try...except如何使用詳解

    python嵌套try...except如何使用詳解

    有時(shí)候我們寫程序的時(shí)候,會(huì)出現(xiàn)一些錯(cuò)誤或異常,導(dǎo)致程序終止,使用try…except,這樣程序就不會(huì)因?yàn)楫惓6袛?下面這篇文章主要給大家介紹了關(guān)于python嵌套try...except如何使用的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • 一文教會(huì)你用Python繪制動(dòng)態(tài)可視化圖表

    一文教會(huì)你用Python繪制動(dòng)態(tài)可視化圖表

    數(shù)據(jù)可視化是數(shù)據(jù)科學(xué)中關(guān)鍵的一步,下面這篇文章主要給大家介紹了關(guān)于如何利用Python繪制動(dòng)態(tài)可視化圖表的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • python 反編譯exe文件為py文件的實(shí)例代碼

    python 反編譯exe文件為py文件的實(shí)例代碼

    這篇文章主要介紹了python 反編譯exe文件為py文件的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • selenium + python 獲取table數(shù)據(jù)的示例講解

    selenium + python 獲取table數(shù)據(jù)的示例講解

    今天小編就為大家分享一篇selenium + python 獲取table數(shù)據(jù)的示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • peewee創(chuàng)建連接前的前置操作wireshark抓包實(shí)現(xiàn)

    peewee創(chuàng)建連接前的前置操作wireshark抓包實(shí)現(xiàn)

    這篇文章主要為大家介紹了peewee創(chuàng)建連接前的前置操作wireshark?抓包實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • python 列表遞歸求和、計(jì)數(shù)、求最大元素的實(shí)例

    python 列表遞歸求和、計(jì)數(shù)、求最大元素的實(shí)例

    今天小編就為大家分享一篇python 列表遞歸求和、計(jì)數(shù)、求最大元素的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Pyinstaller+Pipenv打包Python文件的實(shí)現(xiàn)示例

    Pyinstaller+Pipenv打包Python文件的實(shí)現(xiàn)示例

    相信大家都試過將Python文件進(jìn)行打包,本文主要介紹了Pyinstaller+Pipenv打包Python文件,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • python字符串對(duì)其居中顯示的方法

    python字符串對(duì)其居中顯示的方法

    這篇文章主要介紹了python字符串對(duì)其居中顯示的方法,涉及Python打印輸出顯示的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07

最新評(píng)論