最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python如何制作縮略圖

 更新時間:2019年04月30日 09:50:55   作者:Bopeiod  
python如何制作縮略圖?這篇文章主要為大家詳細介紹了python制作縮略圖的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了python制作縮略圖的具體代碼,供大家參考,具體內(nèi)容如下

import cv2 #導入opencv模塊
from tkinter import * #導入tkinter模塊
from tkinter import ttk #tkinter最新的主題部件
from PIL import Image

#初始化模塊
root = Tk()
root.title('Pt')
root.geometry('600x300')
#查找圖片路徑,成功則顯示圖片
def searchPicture():
 location = locOfPicture.get()
 img = cv2.imread(location)
 cv2.imshow("Image",img)

#生成縮略圖
def setPicture():
 # 獲取圖片路徑
 location = locOfPicture.get()
 # 對圖片進行操作
 im = Image.open(location)
 im.thumbnail((int(heightOfPicture.get()),int(widthOfPicture.get())))
 im.save(nameOfImg.get(),'JPEG')


label1 = ttk.Label(root,text='選擇圖片')
label2 = ttk.Label(root,text='長:')
label3 = ttk.Label(root,text='寬:')
label4 = ttk.Label(root,text='文件名')

#存儲輸入框中輸入的變量
locOfPicture = StringVar()
heightOfPicture= StringVar()
widthOfPicture = StringVar()
nameOfImg = StringVar()

entry1 = ttk.Entry(root,textvariable = locOfPicture,width=50)
entry2 = ttk.Entry(root,textvariable=heightOfPicture,width=10)
entry3 = ttk.Entry(root,textvariable=widthOfPicture,width=10)
entry4 = ttk.Entry(root,textvariable=nameOfImg,width=25)

button1 = ttk.Button(root,text='確定',command=searchPicture)
button2 = ttk.Button(root,text='確定生成',command=setPicture)

#進行界面布局
label1.grid(column=0,row=0)
entry1.grid(column=1,row=0,columnspan=3)
button1.grid(column=4,row=0)
label2.grid(column=0,row=1)
entry2.grid(column=1,row=1)
label3.grid(column=2,row=1)
entry3.grid(column=3,row=1)
entry4.grid(column=1,row=2,columnspan=2)
button2.grid(column=3,row=2)

root.mainloop()

效果圖:

小編再分享一段代碼:

#!/usr/bin/env python
#coding=utf-8
'''
Created on 2012-6-2
 
@author: fatkun
'''
import Image
import os
import sys
import glob
import time
 
def make_thumb(path, thumb_path, size):
 """生成縮略圖"""
 img = Image.open(path)
 width, height = img.size
 # 裁剪圖片成正方形
 if width > height:
  delta = (width - height) / 2
  box = (delta, 0, width - delta, height)
  region = img.crop(box)
 elif height > width:
  delta = (height - width) / 2
  box = (0, delta, width, height - delta)
  region = img.crop(box)
 else:
  region = img
 
 # 縮放
 thumb = region.resize((size, size), Image.ANTIALIAS)
 
 base, ext = os.path.splitext(os.path.basename(path))
 filename = os.path.join(thumb_path, '%s_thumb.jpg' % (base,))
 print filename
 # 保存
 thumb.save(filename, quality=70)
 
def merge_thumb(files, output_file):
 """合并圖片"""
 imgs = []
 width = 0
 height = 0
 
 # 計算總寬度和長度
 for file in files:
  img = Image.open(file)
  if img.mode != 'RGB':
   img = img.convert('RGB')
  imgs.append(img)
  if img.size[0] > width:
   width = img.size[0]
  height += img.size[1]
 
 # 新建一個白色底的圖片
 merge_img = Image.new('RGB', (width, height), 0xffffff)
 cur_height = 0
 for img in imgs:
  # 把圖片粘貼上去
  merge_img.paste(img, (0, cur_height))
  cur_height += img.size[1]
 
 merge_img.save(output_file, quality=70)
 
if __name__ == '__main__':
 ROOT_PATH = os.path.abspath(os.path.dirname(__file__))
 IMG_PATH = os.path.join(ROOT_PATH, 'img')
 THUMB_PATH = os.path.join(IMG_PATH, 'thumbs')
 if not os.path.exists(THUMB_PATH):
  os.makedirs(THUMB_PATH)
 
 # 生成縮略圖
 files = glob.glob(os.path.join(IMG_PATH, '*.jpg'))
 begin_time = time.clock()
 for file in files:
  make_thumb(file, THUMB_PATH, 90)
 end_time = time.clock()
 print ('make_thumb time:%s' % str(end_time - begin_time))
 
 # 合并圖片
 files = glob.glob(os.path.join(THUMB_PATH, '*_thumb.jpg'))
 merge_output = os.path.join(THUMB_PATH, 'thumbs.jpg')
 begin_time = time.clock()
 merge_thumb(files, merge_output)
 end_time = time.clock()
 print ('merge_thumb time:%s' % str(end_time - begin_time))

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • PyCharm插件開發(fā)實踐之PyGetterAndSetter詳解

    PyCharm插件開發(fā)實踐之PyGetterAndSetter詳解

    這篇文章主要介紹了PyCharm插件開發(fā)實踐-PyGetterAndSetter,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • Python中裝飾器兼容加括號和不加括號的寫法詳解

    Python中裝飾器兼容加括號和不加括號的寫法詳解

    這篇文章主要給大家介紹了關于Python中裝飾器兼容加括號和不加括號寫法的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • 基于PyQT實現(xiàn)區(qū)分左鍵雙擊和單擊

    基于PyQT實現(xiàn)區(qū)分左鍵雙擊和單擊

    這篇文章主要介紹了基于PyQT實現(xiàn)區(qū)分左鍵雙擊和單擊,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • Python的列表和元組詳情

    Python的列表和元組詳情

    這篇文章主要介紹了Python的列表和元組,列表和元組是python組常見的內(nèi)置內(nèi)省,下面文章我們講圍繞Python的列表和元組的相關資料展開話題,感興趣的小伙伴以參考一下
    2021-10-10
  • python snownlp情感分析簡易demo(分享)

    python snownlp情感分析簡易demo(分享)

    下面小編就為大家?guī)硪黄猵ython snownlp情感分析簡易demo(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Python中random模塊生成隨機數(shù)詳解

    Python中random模塊生成隨機數(shù)詳解

    本文給大家匯總了一下在Python中random模塊中最常用的生成隨機數(shù)的方法,有需要的小伙伴可以參考下
    2016-03-03
  • 總結(jié)Python使用過程中的bug

    總結(jié)Python使用過程中的bug

    今天給大家?guī)淼氖顷P于Python的相關知識,文章圍繞著Python使用過程中的bug展開,文中有非常詳細的介紹,需要的朋友可以參考下
    2021-06-06
  • python imutils包基本概念及使用

    python imutils包基本概念及使用

    python imutils包可以很簡潔的調(diào)用opencv接口,輕松實現(xiàn)圖像的平移,旋轉(zhuǎn),縮放,骨架化等操作,對python imutils包基本概念及使用方法感興趣的朋友一起看看吧
    2021-07-07
  • Python常用內(nèi)置函數(shù)和關鍵字使用詳解

    Python常用內(nèi)置函數(shù)和關鍵字使用詳解

    在Python中有許許多多的內(nèi)置函數(shù)和關鍵字,它們是我們?nèi)粘V薪?jīng)常可以使用的到的一些基礎的工具,可以方便我們的工作。本文將詳細講解他們的使用方法,需要的可以參考一下
    2022-05-05
  • Python字符串和其常用函數(shù)合集

    Python字符串和其常用函數(shù)合集

    這篇文章主要給大介紹Python字符串和分享其常用函數(shù)合集,字符串、首字母大寫定義、所有字母大寫、所有字母小寫等函數(shù),具有一定的參考價值,需要的朋友可以參考一下
    2022-03-03

最新評論

如皋市| 和龙市| 阿瓦提县| 腾冲县| 涿州市| 博野县| 桃江县| 奈曼旗| 阿鲁科尔沁旗| 陇西县| 和田市| 夏河县| 镇宁| 嘉兴市| 定南县| 全椒县| 收藏| 乐亭县| 大竹县| 五台县| 洛隆县| 湄潭县| 松溪县| 平昌县| 玉山县| 潞西市| 拜城县| 分宜县| 诸暨市| 八宿县| 大悟县| 宜良县| 太仆寺旗| 遵化市| 花垣县| 金塔县| 阳朔县| 巩义市| 平遥县| 隆昌县| 诏安县|