@@ -176,7 +176,8 @@ def __init__(self, figure=None, master=None):
176
176
width = w , height = h , borderwidth = 0 , highlightthickness = 0 )
177
177
self ._tkphoto = tk .PhotoImage (
178
178
master = self ._tkcanvas , width = w , height = h )
179
- self ._tkcanvas .create_image (w // 2 , h // 2 , image = self ._tkphoto )
179
+ self ._tkcanvas_image_region = self ._tkcanvas .create_image (
180
+ w // 2 , h // 2 , image = self ._tkphoto )
180
181
self ._tkcanvas .bind ("<Configure>" , self .resize )
181
182
if sys .platform == 'win32' :
182
183
self ._tkcanvas .bind ("<Map>" , self ._update_device_pixel_ratio )
@@ -256,10 +257,9 @@ def resize(self, event):
256
257
hinch = height / dpival
257
258
self .figure .set_size_inches (winch , hinch , forward = False )
258
259
259
- self ._tkcanvas .delete (self ._tkphoto )
260
- self ._tkphoto = tk .PhotoImage (
261
- master = self ._tkcanvas , width = int (width ), height = int (height ))
262
- self ._tkcanvas .create_image (
260
+ self ._tkcanvas .delete (self ._tkcanvas_image_region )
261
+ self ._tkphoto .configure (width = int (width ), height = int (height ))
262
+ self ._tkcanvas_image_region = self ._tkcanvas .create_image (
263
263
int (width / 2 ), int (height / 2 ), image = self ._tkphoto )
264
264
ResizeEvent ("resize_event" , self )._process ()
265
265
self .draw_idle ()
0 commit comments