From 43b71888d38df4fc5d3a0eba3f28cdd59df0305d Mon Sep 17 00:00:00 2001 From: Kentaro Wada Date: Mon, 1 May 2023 20:39:52 +0900 Subject: [PATCH] Add self._config["canvas"]["fill_drawing"] --- labelme/app.py | 3 ++- labelme/config/default_config.yaml | 3 ++- labelme/widgets/canvas.py | 7 +++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/labelme/app.py b/labelme/app.py index fe249dda8..b8a7b872e 100644 --- a/labelme/app.py +++ b/labelme/app.py @@ -575,7 +575,8 @@ def __init__( checkable=True, enabled=True, ) - fill_drawing.trigger() + if self._config["canvas"]["fill_drawing"]: + fill_drawing.trigger() # Lavel list context menu. labelMenu = QtWidgets.QMenu() diff --git a/labelme/config/default_config.yaml b/labelme/config/default_config.yaml index ea48b2f04..5d9c07ea9 100644 --- a/labelme/config/default_config.yaml +++ b/labelme/config/default_config.yaml @@ -22,7 +22,7 @@ label_colors: null shape: # drawing line_color: [0, 255, 0, 128] - fill_color: [0, 255, 0, 0] # transparent + fill_color: [0, 255, 0, 64] vertex_fill_color: [0, 255, 0, 255] # selecting / hovering select_line_color: [255, 255, 255, 255] @@ -62,6 +62,7 @@ fit_to_content: # canvas epsilon: 10.0 canvas: + fill_drawing: false # None: do nothing # close: close polygon double_click: close diff --git a/labelme/widgets/canvas.py b/labelme/widgets/canvas.py index bafa1f253..597da0fdc 100644 --- a/labelme/widgets/canvas.py +++ b/labelme/widgets/canvas.py @@ -4,6 +4,7 @@ import labelme.ai from labelme import QT5 +from labelme.logger import logger from labelme.shape import Shape import labelme.utils @@ -735,6 +736,12 @@ def paintEvent(self, event): and len(self.current.points) >= 2 ): drawing_shape = self.current.copy() + if drawing_shape.fill_color.getRgb()[3] == 0: + logger.warning( + "fill_drawing=true, but fill_color is transparent," + " so forcing to be opaque." + ) + drawing_shape.fill_color.setAlpha(64) drawing_shape.addPoint(self.line[1]) drawing_shape.fill = True drawing_shape.paint(p)