Commit acf324e8 authored by dmMaze's avatar dmMaze
Browse files

clean up canvas rendering

parent 5a465482
Loading
Loading
Loading
Loading
+14 −8
Original line number Diff line number Diff line
@@ -351,6 +351,13 @@ class Canvas(QGraphicsScene):

    def render_result_img(self):

        self.inpaintLayer.hide()
        tlayer_opacity_before = self.textLayer.opacity()
        tlayer_visible = self.textLayer.isVisible()
        if tlayer_opacity_before != 1:
            self.textLayer.setOpacity(1)
        if not tlayer_visible:
            self.textLayer.show()
        scale_before = self.scale_factor
        if scale_before != 1:
            self._set_scene_scale(1)
@@ -360,12 +367,8 @@ class Canvas(QGraphicsScene):
            if self.txtblkShapeControl.blk_item.is_editting():
                self.txtblkShapeControl.blk_item.endEdit()

        ipainted_layer_pixmap = ndarray2pixmap(self.imgtrans_proj.inpainted_array)
        old_ilayer_pixmap = self.inpaintLayer.pixmap()
        self.inpaintLayer.setPixmap(ipainted_layer_pixmap)

        canvas_sz = ipainted_layer_pixmap.size()
        result = QImage(canvas_sz, QImage.Format.Format_ARGB32)
        result = ndarray2pixmap(self.imgtrans_proj.inpainted_array, return_qimg=True)
        canvas_sz = self.img_window_size()
        painter = QPainter(result)
        painter.setRenderHint(QPainter.RenderHint.Antialiasing)

@@ -373,10 +376,13 @@ class Canvas(QGraphicsScene):
        self.render(painter, rect, rect)   #  produce blurred result if target/source rect not specified #320
        painter.end()
        
        self.inpaintLayer.setPixmap(old_ilayer_pixmap)

        if tlayer_opacity_before != 1:
            self.textLayer.setOpacity(tlayer_opacity_before)
        if not tlayer_visible:
            self.textLayer.hide()
        if scale_before != 1:
            self._set_scene_scale(scale_before)
        self.inpaintLayer.show()

        return result
    
+0 −21
Original line number Diff line number Diff line
@@ -709,21 +709,6 @@ class MainWindow(FramelessWindow):
        if self.rightComicTransStackPanel.isHidden():
            self.bottomBar.texteditChecker.click()

        trans_idx = self.rightComicTransStackPanel.currentIndex()
        if trans_idx != 1:
            self.bottomBar.texteditChecker.click()

        
        restore_original_transparency = None
        if self.bottomBar.originalSlider.value() != 0:
            restore_original_transparency = self.bottomBar.originalSlider.value()
            self.bottomBar.originalSlider.setValue(0)

        restore_textlayer_transparency = None
        if self.bottomBar.textlayerSlider.value() != 100:
            restore_textlayer_transparency = self.bottomBar.textlayerSlider.value()
            self.bottomBar.textlayerSlider.setValue(100)

        restore_textblock_mode = False
        if pcfg.imgtrans_textblock:
            restore_textblock_mode = True
@@ -761,12 +746,6 @@ class MainWindow(FramelessWindow):
        self.canvas.update_saved_undostep()

        if restore_interface:
            if restore_original_transparency is not None:
                self.bottomBar.originalSlider.setValue(restore_original_transparency)
            if restore_textlayer_transparency is not None:
                self.bottomBar.textlayerSlider.setValue(restore_textlayer_transparency)
            if trans_idx != 1:
                self.bottomBar.paintChecker.click()
            if restore_textblock_mode:
                self.bottomBar.textblockChecker.click()
            if hide_tsc:
+2 −4
Original line number Diff line number Diff line
@@ -336,13 +336,11 @@ class SceneTextManager(QObject):
        self.editing_flag = edit
        if edit:
            self.textpanel.show()
            for blk_item in self.textblk_item_list:
                blk_item.show()
            self.canvas.textLayer.show()
        else:
            self.txtblkShapeControl.setBlkItem(None)
            self.textpanel.hide()
            for blk_item in self.textblk_item_list:
                blk_item.hide()
            self.canvas.textLayer.hide()

    def adjustSceneTextRect(self):
        self.txtblkShapeControl.updateBoundingRect()