91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python怎么制作圖片縮略圖

發布時間:2021-04-26 14:20:54 來源:億速云 閱讀:321 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關python怎么制作圖片縮略圖的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

python是什么意思

Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向對象的腳本語言,其最初的設計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發獨立的項目和大型項目。

縮略圖

在很多時候我們都需要將圖片按照同比例縮小有利于存儲 但是一張張手動去改的話太麻煩了 今天我們就用python實現一個簡單的將一個文件夾中的所有圖片進行指定大小的調整

縮略前:

python怎么制作圖片縮略圖

代碼:

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)

縮略后:

python怎么制作圖片縮略圖

參數使用說明:

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

Image.resize()和Image.thumbnail()的區別
根據代碼和代碼注釋, 這兩個函數都是對圖片進行縮放, 兩者的主要區別如下:

  • resize()函數會返回一個Image對象, thumbnail()函數返回None

  • resize()修改后的圖片在返回的Image中, 而原圖片沒有被修改;

  • thumbnail()直接對內存中的原圖進行了修改, 但是修改需要保存

  • resize()中的size參數直接設定了resize之后圖片的規格,而thumbnail()中的size參數則是設定了x/y上的最大值. 也就是說, 經過resize()處理的圖片可能會被拉伸,而經過thumbnail()處理的圖片不會被拉伸

  • thumbnail()函數內部調用了resize(), 可以認為thumbnail()是對resize()的一種封裝

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

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

  • 將所有下載的圖片格式轉換成普通的JPG并使用RGB顏色模式

  • 生成縮略圖

  • 檢查圖片的寬度和高度確保它們滿足最小的尺寸限制

管道同時會在內部保存一個被調度下載的URL列表,然后將包含相同媒體的相應關聯到這個隊列上來,從而防止了多個item共享這個媒體時重復下載。

ImagesPipeline使用Pillow來生成縮略圖以及轉換成標準的JPEG/RGB格式。因此你需要安裝這個包,我們建議你使用Pillow而不是PIL。

配置setting.py

# 同時使用圖片和文件管道
ITEM_PIPELINES = {
   'scrapy.pipelines.images.ImagesPipeline': 1,
   'scrapy.pipelines.files.FilesPipeline': 2,
   }
# 指定圖片字段
IMAGES_URLS_FIELD = 'images'
IMAGES_STORE = '/path/to/valid/dir' # 圖片存儲路徑
# 文件過期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()

感謝各位的閱讀!關于“python怎么制作圖片縮略圖”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

萍乡市| 拉萨市| 沁水县| 景东| 阿克陶县| 南康市| 如东县| 丁青县| 色达县| 偃师市| 长岛县| 唐河县| 延庆县| 巩义市| 关岭| 泉州市| 自治县| 年辖:市辖区| 靖州| 广饶县| 马龙县| 财经| 阜新| 南开区| 皮山县| 和顺县| 清水河县| 柘城县| 鄂州市| 苏州市| 准格尔旗| 古交市| 兴文县| 谢通门县| 天水市| 镇赉县| 临城县| 兰州市| 宁乡县| 邵东县| 苍南县|