Merge pull request #62 from faceshiftlabs/feat/toggle-checkerboard

Feat/toggle checkerboard
This commit is contained in:
Jeremy Hummel 2019-09-12 17:39:38 -07:00 committed by GitHub
commit 0c10c46624
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 27 additions and 16 deletions

View file

@ -482,6 +482,9 @@ class ConvertSubprocessor(Subprocessor):
self.screen_manager.get_current().diff_scale(-0.1) self.screen_manager.get_current().diff_scale(-0.1)
elif chr_key == '=': elif chr_key == '=':
self.screen_manager.get_current().diff_scale(0.1) self.screen_manager.get_current().diff_scale(0.1)
elif chr_key == '\\':
self.main_screen.toggle_checkerboard()
self.main_screen.show(True)
if go_prev_frame: if go_prev_frame:

View file

@ -35,6 +35,18 @@ class Screen(object):
self.checkerboard_image = None self.checkerboard_image = None
self.set_image (image) self.set_image (image)
self.scrn_manager = None self.scrn_manager = None
self.show_checkerboard = True
def draw_checkerboard(self, screen):
if self.checkerboard_image is None or self.checkerboard_image.shape[0:2] != screen.shape[0:2]:
self.checkerboard_image = ScreenAssets.build_checkerboard_a(screen.shape)
screen = screen[...,0:3]*0.75 + 64*self.checkerboard_image*(1- (screen[...,3:4].astype(np.float32)/255.0) )
screen = screen.astype(np.uint8)
return screen
def toggle_checkerboard(self):
self.show_checkerboard = not self.show_checkerboard
def set_waiting_icon(self, b): def set_waiting_icon(self, b):
self.waiting_icon = b self.waiting_icon = b
@ -84,12 +96,8 @@ class Screen(object):
if self.scale != 1.0: if self.scale != 1.0:
screen = cv2.resize ( screen, ( int(w*self.scale), int(h*self.scale) ) ) screen = cv2.resize ( screen, ( int(w*self.scale), int(h*self.scale) ) )
if c == 4: if c == 4 and self.show_checkerboard:
if self.checkerboard_image is None or self.checkerboard_image.shape[0:2] != screen.shape[0:2]: screen = self.draw_checkerboard(screen)
self.checkerboard_image = ScreenAssets.build_checkerboard_a(screen.shape)
screen = screen[...,0:3]*0.75 + 64*self.checkerboard_image*(1- (screen[...,3:4].astype(np.float32)/255.0) )
screen = screen.astype(np.uint8)
io.show_image(self.scrn_manager.wnd_name, screen) io.show_image(self.scrn_manager.wnd_name, screen)

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 KiB

After

Width:  |  Height:  |  Size: 216 KiB

Before After
Before After