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制作图片缩略图)
- dedecms怎么在根目录外生成文件夹(dedecms 5.6 缩略图按大小比例缩小裁剪)
- pythonimage库(Python/Django后端使用PIL Image生成头像缩略图)
- dedecms标签缩略图问题(dedecms文章内页获取缩略图的调用标签)
- dedecms缩略图插件(织梦DEDECMS有缩略图显示,没有显示随机指定图片的实现方法)
- nginx做图片服务器代理(使用nginx动态转换图片大小生成缩略图)
- php去水印方法(PHP开发的文字水印,缩略图,图片水印实现类与用法示例)
- dedecms首页布局(dedecms实现列表页缩略图随机调用的方法)
- dedecms缩略图路径(DedeCMS图集中缩略图不显示的解决方法)
- thinkphp 多维度展示数据(Thinkphp自定义生成缩略图尺寸的方法)
- dedecms自定义分页(详解DEDECMS缩略图标签[field:picname/]和[field:litpic/]的区别)
- python生成效果图(python如何制作缩略图)
- dede常用变量(dede调用文章第一张图片非缩略图的实现方法)
- dedecms缩略图优化教程(织梦DedeCMS V5.7缩略图站内上传修正)
- canvas绘制二进制图片(Canvas获取视频第一帧缩略图的实现)
- dedecms图集关键词(Dedecms 生成漂亮整齐的缩略图)
- 泰剧《爱欲之神》Boom kitkong和Great合体杂志(泰剧爱欲之神Boomkitkong和Great合体杂志)
- 素人恋爱综艺火药味十足 男生为赢得芳心集体扯头花,真是出好戏(素人恋爱综艺火药味十足)
- 《囧妈》为何受抵制 春节七部影片撤档背后的责任与博弈(囧妈为何受抵制)
- 提醒 2019年起河南驾考要开设科目五 官方回应来了(2019年起河南驾考要开设科目五)
- 省 市书法家协会 送万福进万家 活动走进禹州美丽乡村(省市书法家协会)
- 点赞 禹州苌庄正式撤乡建镇 未来发展不可估量(禹州苌庄正式撤乡建镇)
热门推荐
- 百度网速买的五分钟加速在哪里(为何用了百度云加速 服务器负载还很大)
- Mongodb数据导入导出
- vue单元测试实例(Vue-Jest 自动化测试基础配置详解)
- mysql全表查询如何优化(MySQL 分组查询的优化方法)
- nodejs八种命令(详细谈谈NodeJS进程是如何退出的)
- python中列表操作五种常用方法(Python使用paramiko操作linux的方法讲解)
- python删除列表中的重复元素(Python实现去除列表中重复元素的方法总结7种方法)
- C#中ArrayList与Array的区别
- 前端技术图解(前端水印的简单实现代码示例)
- dedecms屏蔽规则(使用Dedecms中七个容易忽略的安全细节介绍)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9