1.在线网站processon
2.本地软件draw.io
容器
快捷键:ctrl g,能将图形转换成容器,使其他图形能够移入该容器中。移入时会有紫色提醒(ctrl g同时也是组合的快捷键)。
复制
除了常用的ctrl c与ctrl v外,还能使用ctrl 鼠标左键拖拽。
常用框图
在空白处双击就会出现
该软件由于开源特性,在vscdoe中也可以作为插件使用
教程
使用技巧
从图片识别流程图,并在draw.io中绘制
代码语言:python代码运行次数:0复制import pyperclip, os
from paddleocr import PaddleOCR, paddleocr
def convert_to_mxGeometry(coords):
x_min = min([coord[0] for coord in coords])
y_min = min([coord[1] for coord in coords])
x_max = max([coord[0] for coord in coords])
y_max = max([coord[1] for coord in coords])
width = x_max - x_min
height = y_max - y_min
x = x_min width/2
y = y_min height/2
return f'<mxGeometry x="{x}" y="{y}" width="{width}" height="{height}" as="geometry"/>'
def test_convert_to_mxGeometry():
coords = [[29.0, 122.0], [216.0, 122.0], [216.0, 135.0], [29.0, 135.0]]
print(convert_to_mxGeometry(coords))
def ocr_to_mxGraphModel(img_path):
# 判断是否为图片
if not img_path.endswith(('.jpg', '.png', '.jpeg')):
return '请使用图片文件'
# 判断图片是否存在
if not os.path.exists(img_path):
return '图片不存在'
# 关闭DEBUG日志的打印
import logging
paddleocr.logging.disable(logging.DEBUG)
# Paddleocr目前支持的多语言语种可以通过修改lang参数进行切换
# 例如`ch`, `en`, `fr`, `german`, `korean`, `japan`
ocr = PaddleOCR(use_angle_cls=True, lang="ch")
print('正在识别图片,请稍等...')
result = ocr.ocr(img_path, cls=True)
num, ret= 2, ['<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/>']
for line in result:
for word in line:
# xml转义字符
value = word[1][0].replace('&', '&').replace('<', '<').replace('>', '>').replace('"', '"')
ret.append(f'<mxCell id="{num}" value="{value}" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">')
ret.append(convert_to_mxGeometry(word[0]))
ret.append('</mxCell>')
num = 1
# print(convert_to_mxGeometry(word[0]) , word[1][0])
ret.append('</root></mxGraphModel>')
print('识别完成')
# 拼接成xml
return ''.join(ret)
if __name__ == '__main__':
print('程序开始运行')
# 图片路径
img_path = R'C:UsersJackDesktop11.png'
# 识别图片,得到xml
xml = ocr_to_mxGraphModel(img_path)
# 复制到剪切板
pyperclip.copy(xml)
print('已复制到剪切板,请在draw.io中粘贴')
注:可能出现问题的地方
安装命令:
安装paddle模块
代码语言:bash复制python -m pip install paddlepaddle==2.5.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
安装paddleocr模块
代码语言:bash复制pip install paddleocr
参考链接