python做相册_Python编程:制作电子相册
Python编程:制作电子相册
环境:
主机:WIN10
python版本:3.5
开发环境:pyCharm 5.0.2
说明:
家里有不用的windows平板me400c,用python编写一个脚本,实现电子相册功能。
功能:
1.每5s自动播放下一张
2.可以手动点击,播放下一张
效果:
源代码:
import os
import threading
import tkinter as tk
import time
from PIL import ImageTk, Image
#分辨率
resolution = (1366, 768)
# 路径
Path = 'd:\photo'
# 播放间隔.单位:s
Interval = 5
# 当前照片计数
Index = 0
scaler = Image.ANTIALIAS
root = tk.Tk()
img_in = Image.open("load.jpg")
w, h = img_in.size
size_new = ((int)(w * resolution[1] / h), resolution[1])
img_out = img_in.resize(size_new, scaler)
img = ImageTk.PhotoImage(img_out)
# img = ImageTk.PhotoImage(Image.open("load.jpg"))
panel = tk.Label(root, image = img)
panel.pack(side = "bottom", fill = "both", expand = "yes")
def callback(e):
global Index
files = os.listdir(Path)
i = 0
for x in files:
# 判断文件是否存在
if not os.path.isfile(Path + '\%s' % x):
break
if i < Index:
i += 1
continue
print('手动处理图片', x, Index)
if not (x.endswith('.jpg') or x.endswith('.JPG')):
i += 1
Index += 1
if Index >= len(files):
Index = 0
continue
img_in = Image.open(Path + '\%s' % x)
print(img_in)
w, h = img_in.size
size_new = ((int)(w * resolution[1] / h), resolution[1])
img_out = img_in.resize(size_new, scaler)
img2 = ImageTk.PhotoImage(img_out)
# img2 = ImageTk.PhotoImage(Image.open(Path + '\%s' % x))
panel.configure(image=img2)
panel.image = img2
Index += 1
if Index >= len(files):
Index = 0
break
# root.bind("", callback)
root.bind("", callback)
def image_change():
global Index
time.sleep(3)
while True:
files = os.listdir(Path)
i = 0
for x in files:
# 判断文件是否存在
if not os.path.isfile(Path + '\%s' % x):
break
if i < Index:
i += 1
continue
print('自动处理图片', x, Index)
if not (x.endswith('.jpg') or x.endswith('.JPG')):
i += 1
Index += 1
if Index >= len(files):
Index = 0
continue
img_in = Image.open(Path + '\%s' % x)
w, h = img_in.size
size_new = ((int)(w * resolution[1] / h), resolution[1])
img_out = img_in.resize(size_new, scaler)
img2 = ImageTk.PhotoImage(img_out)
# img2 = ImageTk.PhotoImage(Image.open(Path + '\%s' % x))
panel.configure(image=img2)
panel.image = img2
Index += 1
if Index >= len(files):
Index = 0
time.sleep(Interval)
# 图片切换线程
t = threading.Thread(target=image_change)
t.start()
root.mainloop()
python做相册_Python编程:制作电子相册相关推荐
- python 动态相册_Python编程:制作电子相册
Python编程:制作电子相册 环境: 主机:WIN10 python版本:3.5 开发环境:pyCharm 5.0.2 说明: 家里有不用的windows平板me400c,用python编写一个脚本 ...
- Python编程:制作电子相册
本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN10 python版本:3.5 开发环境:pyCharm 5.0.2 说明: 家里有 ...
- python 累加器_Python编程第5课:累加器,变量与赋值进阶练习
[回顾]Python编程第4课计数器的练习题答案. 1.C 2.24 3.请见下方 a=8 print("小华的岁数:",a) a=a+23 print("小华爸 ...
- python 静态方法_Python编程思想(25):方法深度解析
-----------支持作者请转发本文-----------李宁老师已经在「极客起源」 微信公众号推出<Python编程思想>电子书,囊括了Python的核心技术,以及Python的主要 ...
- 苹果手机python软件_python编程教学app
python编程教学app提供最丰富的学习资源,为所有零基础的用户创造了一个良好的学习环境,拥有最佳的学习氛围,你可以在软件中找到最优的学习内容,完全根据自己的需求进行搜索和操作.充分利用碎片时间,疯 ...
- 粒子群优化算法和python代码_Python编程实现粒子群算法(PSO)详解
1 原理 粒子群算法是群智能一种,是基于对鸟群觅食行为的研究和模拟而来的.假设在鸟群觅食范围,只在一个地方有食物,所有鸟儿看不到食物(不知道食物的具体位置),但是能闻到食物的味道(能知道食物距离自己位 ...
- 怎样保存python源程序_Python编程第1课,认识IDLE,编写保存运行第1个程序
你为什么想学Python呢?简单?易学?还是为了跟风? 大陈学它,起初完全是跟风,说实在话,写这篇文章的时候,我还没找到充足的理由告诉你,为什么不去学C.C++.VB.Java等,而一定要学Pytho ...
- python 赋值_python编程自学笔记变量赋值数据类型格式化输出
python编程自学笔记变量数赋值据类型格式化输出 Python自学笔记 变量 数据类型 字符串 格式化 1.变量 变量的定义 给变量赋值 name是一个变量,把"***"赋值给了 ...
- python中立方_Python编程从入门到实践 第四章练习题
一.想出至少三种你喜欢的披萨,将其名称存储在一个列表中,再使用for循环将每种披萨的名称都打印出来. 修改这个for循环,使其打印包括披萨名称的句子,而不仅仅是披萨的名称.对于每种披萨,都显示一行输出 ...
最新文章
- Linux06-服务、守护进程和systemd
- 2018-2019-2 20165315 《网络对抗技术》Exp2+ 后门进阶
- 《自己动手写开发工具》试读版电子书及光盘
- 科大星云诗社动态20210418
- Visual Studio 2015 单元测试(c++初试)
- stm32 hal 串口只可以接收到一包数据数据
- zlib库对文件进行压缩和解压操作
- 使用Oracle Wrap工具加密你的代码
- c语言中int(*t) n,C语言基础知识(下)
- 能力提升综合题单Part 8.3.1 二叉树Part 8.3.2 树的直径
- 取消360导航作为浏览器访问首页
- 别做正常的傻瓜---奚恺元 随记2017-12-6周三
- nca算法_NCA告诉英国公民,立即寻找有史以来最恶劣的网络攻击的保护
- C++ 使用chrono库准确统计代码运行时间
- 学习笔记:使用requests+Beautiful4爬取优美图库
- 高精度18位 5 MSPS 低功耗数据采集信号链_电工基础电路图讲解
- pmsm什么意思_PMSM是什么意思
- 西行漫记(11):数字化敏捷
- linux环境下javacv视频抓图失败
- java实现DES加解密算法
热门文章
- php 二维数组根据参数分组
- 使用hicanu组装hifi基因组的方法介绍
- Tensorflow 进阶学习
- flex 移动开发 html5,[ html5 ] 移动端适配方案 flex布局+rem布局
- excel 链接sql server数据库,并使用sql语句导出自己想要的数据
- Eureka(一): Eureka Client
- angularjs grunt uglify 报错
- 布道微服务_17服务调用失败的解决方案
- 【每日蓝桥】15、一三年省赛Java组真题“错误票据”
- 【Echarts】- 制作饼图