Commit 6fca60b3 authored by dmMaze's avatar dmMaze
Browse files

fix #343

parent 6c109a28
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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)
+4 −2
Original line number Diff line number Diff line
@@ -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:
+5 −1
Original line number Diff line number Diff line
@@ -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: