视频转图片(带预览功能初版)

废话不多说,直接上代码。
一、界面部分

from tkinter import *
from tkinter import filedialog,messagebox
import time
import cv2
import threading

__app__ = "视频转图片"


class Sche:
    def __init__(self):
        self.window = Tk()
        self.window.title(__app__)
        self.v = IntVar()#与v1一起形成图片转换间隔
        self.v1 = IntVar()
        self.v2 = StringVar()#控件名改变
        self.v3 = StringVar()#控件名改变
        self.player = 0#播放控制/转换控制,0为未载入视频,1为播放,2为暂停
        self.rec = 0#转换起始点和结束点记录标志,0为不记录,1为记录
        self.speed = 1#播放速率控制,共分1/16,1/8,1/4,1/2,1,2,4,6,8, 9档速度(实际可能偏快或偏慢,未进行速度校准)
        self.type = ".jpg"#转换类型控制
        self.bujin = 0#播放布进值控制,0为不步进,有15,-15两档,其余值为跳跃值
        self.v.set(1)#v,v1初值设置,不可为0
        self.v1.set(5)
        width = int((self.window.winfo_screenwidth() - 1000)/2)#居中设置
        height = int((self.window.winfo_screenheight() + 60)/2)#居中设置
        #菜单控件设置
        menu = Menu(self.window)
        filemenu = Menu(menu, tearoff=0)
        menu.add_cascade(label="文件", menu=filemenu)
        filemenu.add_command(label="载入", command=self.open)
        filemenu.add_command(label="导出", command=self.save)
        filemenu.add_separator()
        filemenu.add_command(label="退出", command=self.fast)
        self.window.config(menu=menu)
        self.window.geometry("1000x60+{}+{}".format(width, height))#窗口大小位置设置
        self.canvas = Canvas(self.window, bg="white")#画布设置
        self.canvas.place(x=180, y=5, width=810, height=50)#画布放置必须与画布控件分开,否则会出现错误
        #功能键设定
        self.sub = Button(self.window, text="快退", command=self.rew).place(x=5, y=25, width=35, height=30)
        self.sub1 = Button(self.window, text="减速", command=self.slow_down).place(x=40, y=25, width=35, height=30)
        self.v2.set("开始")
        self.begin = Button(self.window, textvariable=self.v2, command=self.beginer).place(x=75, y=5, width=35, height=20)
        self.v3.set("播放")
        self.opened = Button(self.window, textvariable=self.v3, command=self.play).place(x=75, y=25, width=35, height=30)
        self.add = Button(self.window, text="加速", command=self.quick).place(x=110, y=
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值