@@ -59,66 +59,72 @@ def btnOpenVid(): os.popen(videoselect.get())
5959def btnOpenVid2 (): os .popen (saveto .get ())
6060def on_canvas_click (event ):open_window ()
6161def open_window ():
62- frame = 0
63- new_window = tkinter .Toplevel ()
64- new_window .geometry ('1000x560' )
65- new_window .title ('Comparison' )
66- canvas2 = Canvas (new_window , width = 1000 , height = 500 )
67- canvas2 .place (x = 0 , y = 50 )
68- i = None
69- i2 = None
70- zoom = 0
71- def update_canvas ():
72- nonlocal frame , i , i2
73- if i is not None :
74- canvas2 .delete (i )
75- if i2 is not None :
76- canvas2 .delete (i2 )
77- def update_image (videoname , side ):
78- nonlocal i , i2 ,zoom
79- os .system (f'ffmpeg_vvceasy.exe -y -i "{ videoname } " -vf "select=eq(n\,{ frame } )" -frames:v 1 temp.jpg' )
80- image = Image .open ('temp.jpg' )
81- image .thumbnail ((500 , 500 ))
82- width , height = image .size
83- image = image .resize ((width + zoom , height + zoom ), Image .ANTIALIAS )
84- if side == "left" :
85- i = ImageTk .PhotoImage (image )
86- canvas2 .create_image (0 , 0 , anchor = 'nw' , image = i )
87-
88- elif side == "right" :
89- i2 = ImageTk .PhotoImage (image )
90- canvas2 .create_image (500 , 0 , anchor = 'nw' , image = i2 )
91- os .remove ('temp.jpg' )
92- update_image (videoselect .get (), "left" )
93- update_image (saveto .get (), "right" )
94- def increase_frame ():
95- nonlocal frame
96- frame += 1
97- update_canvas ()
98- def decreace_frame ():
99- nonlocal frame
100- frame -= 1
101- if frame < 0 :
102- frame = 0
103- update_canvas ()
104- def increase_image ():
105- nonlocal zoom
106- zoom = zoom + 15
107- update_canvas ()
108- def decrease_image ():
109- nonlocal zoom
110- zoom = zoom - 15
111- update_canvas ()
112- button1 = Button (new_window , text = '<--' , command = decreace_frame )
113- button1 .place (x = 50 , y = 10 )
114- button2 = Button (new_window , text = '-->' , command = increase_frame )
115- button2 .place (x = 150 , y = 10 )
116- button3 = Button (new_window , text = ' + ' , command = increase_image )
117- button3 .place (x = 250 , y = 10 )
118- button4 = Button (new_window , text = ' - ' , command = decrease_image )
119- button4 .place (x = 300 , y = 10 )
120- update_canvas ()
121- new_window .mainloop ()
62+ frame = 0
63+ new_window = tkinter .Toplevel ()
64+ new_window .geometry ('1000x560' )
65+ new_window .title ('Comparison' )
66+ canvas2 = Canvas (new_window , width = 1000 , height = 500 )
67+ canvas2 .place (x = 0 , y = 50 )
68+ i = None
69+ i2 = None
70+ zoom = 0
71+ def update_canvas ():
72+ nonlocal frame , i , i2
73+ if i is not None :
74+ canvas2 .delete (i )
75+ if i2 is not None :
76+ canvas2 .delete (i2 )
77+ def update_image (videoname , side ):
78+ nonlocal i , i2 ,zoom
79+ os .system (f'ffmpeg_vvceasy.exe -y -i "{ videoname } " -vf "select=eq(n\,{ frame } )" -frames:v 1 temp.jpg' )
80+ image = Image .open ('temp.jpg' )
81+ image .thumbnail ((500 , 500 ))
82+ width , height = image .size
83+ widthoriginal = width
84+ if width + zoom >= widthoriginal :
85+ image = image .resize ((width + zoom , height + zoom ), Image .ANTIALIAS )
86+ if side == "left" :
87+ i = ImageTk .PhotoImage (image )
88+ canvas2 .create_image (0 , 0 , anchor = 'nw' , image = i )
89+ elif side == "right" :
90+ i2 = ImageTk .PhotoImage (image )
91+ if width + zoom <= 500 :canvas2 .create_image (width + zoom , 0 , anchor = 'nw' , image = i2 )
92+ if width + zoom >= 500 :canvas2 .create_image (500 , 0 , anchor = 'nw' , image = i2 )
93+ else :
94+ if side == "left" :
95+ i = ImageTk .PhotoImage (image )
96+ canvas2 .create_image (0 , 0 , anchor = 'nw' , image = i )
97+ elif side == "right" :
98+ i2 = ImageTk .PhotoImage (image )
99+ canvas2 .create_image (width , 0 , anchor = 'nw' , image = i2 )
100+ zoom = 0
101+ os .remove ('temp.jpg' )
102+ update_image (videoselect .get (), "left" )
103+ update_image (saveto .get (), "right" )
104+ def update (act ):
105+ nonlocal frame
106+ nonlocal zoom
107+ if act == "inc_f" :
108+ frame += 1
109+ elif act == "dec_f" :
110+ frame -= 1
111+ if frame < 0 :
112+ frame = 0
113+ elif act == "inc_z" :
114+ zoom += 15
115+ elif act == "dec_z" :
116+ zoom -= 15
117+ update_canvas ()
118+ b1 = Button (new_window , text = '<--' ,command = lambda :update ("dec_f" ))
119+ b1 .place (x = 50 , y = 10 )
120+ b2 = Button (new_window , text = '-->' ,command = lambda :update ("inc_f" ))
121+ b2 .place (x = 150 , y = 10 )
122+ b3 = Button (new_window , text = '+' ,command = lambda :update ("inc_z" ))
123+ b3 .place (x = 250 , y = 10 )
124+ b4 = Button (new_window , text = '-' ,command = lambda :update ("dec_z" ))
125+ b4 .place (x = 300 , y = 10 )
126+ update_canvas ()
127+ new_window .mainloop ()
122128
123129audv = ['a' ,'b' ,'1' ,'c' ,'2' ,'d' ,'3' ,'e' ,'f' ,'4' ,'g' ,'5' ,'6' ,'7' ,'8' ,'9' ]
124130audvn = ['50' ,'62' ,'64' ,'74' ,'80' ,'86' ,'96' ,'98' ,'110' ,'112' ,'122' ,'128' ,'144' ,'160' ,'176' ,'192' ]
0 commit comments