python生成效果图(python如何制作缩略图)
类别:脚本大全 浏览量:1718
时间:2021-10-09 00:14:27 python生成效果图
python如何制作缩略图本文实例为大家分享了python制作缩略图的具体代码,供大家参考,具体内容如下
|
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(), '.jpg" alt="python生成效果图(python如何制作缩略图)" border="0" /> 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" alt="python生成效果图(python如何制作缩略图)" border="0" /> 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" alt="python生成效果图(python如何制作缩略图)" border="0" /> 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" alt="python生成效果图(python如何制作缩略图)" border="0" /> merge_output = os.path.join(thumb_path, 'thumbs.jpg" alt="python生成效果图(python如何制作缩略图)" border="0" /> begin_time = time.clock() merge_thumb(files, merge_output) end_time = time.clock() print ( 'merge_thumb time:%s' % str (end_time - begin_time)) |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/Bopeiod/article/details/51816392
您可能感兴趣
- python自动处理图片(python制作图片缩略图)
- canvas绘制二进制图片(Canvas获取视频第一帧缩略图的实现)
- dedecms缩略图插件(织梦DEDECMS有缩略图显示,没有显示随机指定图片的实现方法)
- nginx做图片服务器代理(使用nginx动态转换图片大小生成缩略图)
- python生成效果图(python如何制作缩略图)
- dedecms无缩略图怎么设置(DEDECMS系统分页标签自定义二次开发实例)
- dedecms无缩略图怎么设置(dedecmsV5.7版 tag标签长度的修改方法详解)
- php去水印方法(PHP开发的文字水印,缩略图,图片水印实现类与用法示例)
- dedecms标签缩略图问题(dedecms文章内页获取缩略图的调用标签)
- thinkphp 多维度展示数据(Thinkphp自定义生成缩略图尺寸的方法)
- 小程序ui图与移动ui(AmazeUI 缩略图的实现示例)
- dedecms自定义分页(详解DEDECMS缩略图标签[field:picname/]和[field:litpic/]的区别)
- dedecms标签怎么调用(dedecms网站栏目增加缩略图的方法)
- dedecms标签使用(DEDECMS 自动缩略图无法生成问题的解决方法)
- dedecms图集关键词(Dedecms 生成漂亮整齐的缩略图)
- dedecms导航条调用(dede调用其他栏目的文章或者缩略图列表且有分页效果的方法)
- 兄弟萌,今年的七夕又取消了 思考 思考(今年的七夕又取消了)
- 七夕取消是什么梗(七夕取消是什么梗)
- 这竟然是捏出来的 20种橡皮泥玩法让你轻松hold住魔娃(这竟然是捏出来的)
- 自制橡皮泥(自制橡皮泥)
- 还在卖 禁药西布曲明网上论斤卖(还在卖禁药西布曲明网上论斤卖)
- 微商在朋友圈热卖的 DL减肥咖啡 含违禁药物,你还敢买吗(微商在朋友圈热卖的)
热门推荐
- 电话面试时需要注意什么
- laravel框架注意事项(Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决)
- docker 快速搭建环境(如何自己搭建DockerHub实现过程解析)
- windows终端远程连接linux服务器(linux通过跳板机连接远程服务器并进行文件传输的方法)
- php开发各种问题(解决php extension 加载顺序问题)
- iis服务器的配置(win7下配置使用IIS搭建自己的WEB服务器)
- 查sqlserver锁表语句(Sql Server如何查看被锁的表及解锁的方法)
- 服务器宝塔面板怎么安装(VPS安装宝塔面板+云锁过程记录)
- 如何设置tomcat的jvm(Tomcatc3p0配置jnid数据源2种实现方法解析)
- dedecms搜索功能怎么设置详细(取消dedecms 留言簿的验证码的方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9