1.0.9 • Published 2 years ago

canvas-draw-table v1.0.9

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

canvas-draw-table

使用 canvas 实现画表格,以及移动,拖拽,拉伸,删除,回撤等功能

体验地址

也可以在 github 上 clone 代码,直接打开 index.html

项目由来:有个报表识别的项目,识别结果可能不准确,需要在图片上二次编辑。在网上找了一圈,也没找到合适的框架,因此自己封装了一个,使用 canvas 绘制 table,并实现批量移动,拉伸,拖拽,删除,等功能

使用方式

import Draw from 'canvas-draw-table'

const draw = Draw({
    url: '', // 图片url,可不传
    dom: '', // canvas容器id或者dom,
    selectColor: "",
    selectActiveColor: "",
    drawSelectColor: "",
    defaultData: [
        {
            type: "cell",
            location: [
                [114, 100],
                [347, 100],
                [347, 229],
                [114, 229],
            ],
        }
    ]
}, modeChange: fn)
参数类型说明
urlstring背景图片地址(可省略)
domstring domcanvas 容器
selectColorstring线条颜色(可省略)
selectActiveColorstring选中颜色(可省略)
drawSelectColorstring多选框颜色(可省略)
defaultDataarray初始数据(可省略)

(如果传了 url,则 defaultData 数据是相对图片的坐标,否则是相对容器的坐标)

modeChange 模式改变的回调函数,模式一共有【选择,移动,拉伸,绘制】, 默认为选择模式(背景图片不可选中,不可删除)

想要手动改变模式,可以通过

draw.setMode(mode)

使用方式

          draw.setMode("draw", {
            type: "table",
            tr: 3,
            td: 4,
          });

绘制 table 的时候,setMode 需要第二个参数,并传入绘制的行列

删除

if(draw.current || draw.currentArray.length > 0) {
	draw.delete();
}

保存

if(!draw.noUpdate) {
	draw.saveDraw()
}

撤销/反撤销

if(draw.history.length > 0) {
	draw.revoke()
}

if(draw.deleteHistory.length > 0) {
	draw.reRevoke()
}

放大/缩小

draw.zoom('up')

draw.zoom('down')
1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago