def update_overview_panel(self): image = self.sprite.get_master_PNG_image() scaled_image = image.resize(tuple(int(x*self.overview_scale_factor) for x in image.size)) if hasattr(self,"overview_ID") and self.overview_ID is not None: del self.overview_image self.overview_image = gui_common.get_tk_image(scaled_image) self.overview_canvas.itemconfig(self.overview_ID, image=self.overview_image) else: import time scaled_image = scaled_image.copy() self.overview_image = gui_common.get_tk_image(scaled_image) self.overview_ID = self.overview_canvas.create_image(0, 0, image=self.overview_image, anchor=tk.NW)
def set_background(self, image_title): if self.current_background_title == image_title: if self.last_known_zoom == self.zoom_getter(): return #there is nothing to do here, because nothing has changed else: #image name is different, so need to load a new image image_filename = self.current_background_title if image_title in self.background_datas["title"]: image_filename = self.background_datas["title"][image_title] elif image_title in self.background_datas["filename"]: image_filename = image_title self.raw_background = Image.open(common.get_resource([self.console_name,self.internal_name,"backgrounds"],image_filename)) #now re-zoom the image new_size = tuple(int(dim*self.zoom_getter()) for dim in self.raw_background.size) self.background_image = gui_common.get_tk_image(self.raw_background.resize(new_size,resample=Image.NEAREST)) if self.current_background_title is None: self.background_ID = self.canvas.create_image(0, 0, image=self.background_image, anchor=tk.NW) #so that we can manipulate the object later else: self.canvas.itemconfig(self.background_ID, image=self.background_image) self.last_known_zoom = self.zoom_getter() self.current_background_title = image_title