Loading ui/fontformat_commands.py +2 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,8 @@ def ffmt_change_stroke_width(param_name: str, value: float, act_ffmt: FontFormat @font_formating() def ffmt_change_size(param_name: str, value: float, act_ffmt: FontFormat, is_global: bool, blkitems: List[TextBlkItem], **kwargs): if value <= 0: return set_kwargs = global_default_set_kwargs if is_global else local_default_set_kwargs for blkitem in blkitems: blkitem.setFontSize(value, **set_kwargs) Loading ui/misc.py +4 −2 Original line number Diff line number Diff line Loading @@ -29,12 +29,14 @@ def pixmap2ndarray(pixmap: Union[QPixmap, QImage], keep_alpha=True): qimg = pixmap byte_str = qimg.bits() if byte_str is None: return None if hasattr(byte_str, 'asstring'): byte_str = qimg.bits().asstring(h * w * 4) else: # byte_str = byte_str.tobytes() byte_str = byte_str.tobytes() # qimg.bits(). img = np.frombuffer(byte_str, dtype=np.uint8).reshape((w,h,4)) if keep_alpha: Loading ui/scene_textlayout.py +5 −1 Original line number Diff line number Diff line Loading @@ -64,7 +64,11 @@ def punc_actual_rect(line: QTextLine, family: str, size: float, weight: int, ita p = QPainter(pixmap) line.draw(p, QPointF(-line.x(), -line.y())) p.end() mask = pixmap2ndarray(pixmap, keep_alpha=True)[..., -1] mask = pixmap2ndarray(pixmap, keep_alpha=True) if mask is None: print(f'invalid text line!') return [0, 0, 1, 1] mask = mask[..., -1] ar = cv2.boundingRect(cv2.findNonZero(mask)) # if stroke_width != 0: Loading Loading
ui/fontformat_commands.py +2 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,8 @@ def ffmt_change_stroke_width(param_name: str, value: float, act_ffmt: FontFormat @font_formating() def ffmt_change_size(param_name: str, value: float, act_ffmt: FontFormat, is_global: bool, blkitems: List[TextBlkItem], **kwargs): if value <= 0: return set_kwargs = global_default_set_kwargs if is_global else local_default_set_kwargs for blkitem in blkitems: blkitem.setFontSize(value, **set_kwargs) Loading
ui/misc.py +4 −2 Original line number Diff line number Diff line Loading @@ -29,12 +29,14 @@ def pixmap2ndarray(pixmap: Union[QPixmap, QImage], keep_alpha=True): qimg = pixmap byte_str = qimg.bits() if byte_str is None: return None if hasattr(byte_str, 'asstring'): byte_str = qimg.bits().asstring(h * w * 4) else: # byte_str = byte_str.tobytes() byte_str = byte_str.tobytes() # qimg.bits(). img = np.frombuffer(byte_str, dtype=np.uint8).reshape((w,h,4)) if keep_alpha: Loading
ui/scene_textlayout.py +5 −1 Original line number Diff line number Diff line Loading @@ -64,7 +64,11 @@ def punc_actual_rect(line: QTextLine, family: str, size: float, weight: int, ita p = QPainter(pixmap) line.draw(p, QPointF(-line.x(), -line.y())) p.end() mask = pixmap2ndarray(pixmap, keep_alpha=True)[..., -1] mask = pixmap2ndarray(pixmap, keep_alpha=True) if mask is None: print(f'invalid text line!') return [0, 0, 1, 1] mask = mask[..., -1] ar = cv2.boundingRect(cv2.findNonZero(mask)) # if stroke_width != 0: Loading