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编程:制作电子相册相关推荐

  1. python 动态相册_Python编程:制作电子相册

    Python编程:制作电子相册 环境: 主机:WIN10 python版本:3.5 开发环境:pyCharm 5.0.2 说明: 家里有不用的windows平板me400c,用python编写一个脚本 ...

  2. Python编程:制作电子相册

    本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN10 python版本:3.5 开发环境:pyCharm 5.0.2 说明: 家里有 ...

  3. python 累加器_Python编程第5课:累加器,变量与赋值进阶练习

    [回顾]Python编程第4课计数器的练习题答案. 1.C    2.24  3.请见下方 a=8 print("小华的岁数:",a) a=a+23 print("小华爸 ...

  4. python 静态方法_Python编程思想(25):方法深度解析

    -----------支持作者请转发本文-----------李宁老师已经在「极客起源」 微信公众号推出<Python编程思想>电子书,囊括了Python的核心技术,以及Python的主要 ...

  5. 苹果手机python软件_python编程教学app

    python编程教学app提供最丰富的学习资源,为所有零基础的用户创造了一个良好的学习环境,拥有最佳的学习氛围,你可以在软件中找到最优的学习内容,完全根据自己的需求进行搜索和操作.充分利用碎片时间,疯 ...

  6. 粒子群优化算法和python代码_Python编程实现粒子群算法(PSO)详解

    1 原理 粒子群算法是群智能一种,是基于对鸟群觅食行为的研究和模拟而来的.假设在鸟群觅食范围,只在一个地方有食物,所有鸟儿看不到食物(不知道食物的具体位置),但是能闻到食物的味道(能知道食物距离自己位 ...

  7. 怎样保存python源程序_Python编程第1课,认识IDLE,编写保存运行第1个程序

    你为什么想学Python呢?简单?易学?还是为了跟风? 大陈学它,起初完全是跟风,说实在话,写这篇文章的时候,我还没找到充足的理由告诉你,为什么不去学C.C++.VB.Java等,而一定要学Pytho ...

  8. python 赋值_python编程自学笔记变量赋值数据类型格式化输出

    python编程自学笔记变量数赋值据类型格式化输出 Python自学笔记 变量 数据类型 字符串 格式化 1.变量 变量的定义 给变量赋值 name是一个变量,把"***"赋值给了 ...

  9. python中立方_Python编程从入门到实践 第四章练习题

    一.想出至少三种你喜欢的披萨,将其名称存储在一个列表中,再使用for循环将每种披萨的名称都打印出来. 修改这个for循环,使其打印包括披萨名称的句子,而不仅仅是披萨的名称.对于每种披萨,都显示一行输出 ...

最新文章

  1. Linux06-服务、守护进程和systemd
  2. 2018-2019-2 20165315 《网络对抗技术》Exp2+ 后门进阶
  3. 《自己动手写开发工具》试读版电子书及光盘
  4. 科大星云诗社动态20210418
  5. Visual Studio 2015 单元测试(c++初试)
  6. stm32 hal 串口只可以接收到一包数据数据
  7. zlib库对文件进行压缩和解压操作
  8. 使用Oracle Wrap工具加密你的代码
  9. c语言中int(*t) n,C语言基础知识(下)
  10. 能力提升综合题单Part 8.3.1 二叉树Part 8.3.2 树的直径
  11. 取消360导航作为浏览器访问首页
  12. 别做正常的傻瓜---奚恺元 随记2017-12-6周三
  13. nca算法_NCA告诉英国公民,立即寻找有史以来最恶劣的网络攻击的保护
  14. C++ 使用chrono库准确统计代码运行时间
  15. 学习笔记:使用requests+Beautiful4爬取优美图库
  16. 高精度18位 5 MSPS 低功耗数据采集信号链_电工基础电路图讲解
  17. pmsm什么意思_PMSM是什么意思
  18. 西行漫记(11):数字化敏捷
  19. linux环境下javacv视频抓图失败
  20. java实现DES加解密算法

热门文章

  1. php 二维数组根据参数分组
  2. 使用hicanu组装hifi基因组的方法介绍
  3. Tensorflow 进阶学习
  4. flex 移动开发 html5,[ html5 ] 移动端适配方案 flex布局+rem布局
  5. excel 链接sql server数据库,并使用sql语句导出自己想要的数据
  6. Eureka(一): Eureka Client
  7. angularjs grunt uglify 报错
  8. 布道微服务_17服务调用失败的解决方案
  9. 【每日蓝桥】15、一三年省赛Java组真题“错误票据”
  10. 【Echarts】- 制作饼图