1.2.2 • Published 1 year ago

canvas-to-react v1.2.2

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

canvas-to-react

canvas图片标注工具

demo

example_lhizmZ

简介

  • 支持ts类型:可以获取实例对应的ts类型。

  • 标注操作:支持矩形标注、多边形、点标注;支持拖拽、缩放;支持添加、编辑标签。

  • 图片和点集位置:图片和位置点集自动铺满画布。

  • 样式自定义:支持全局样式设置,框选文字颜色字体大小设置。

  • 放大缩小:支持画布等比例放大缩小。

  • 标签唯一性:每个标签都有自动生成的uuid

  • 快捷键删除:支持delete和Backspace快捷键删除图片标签

1、使用

  • 创建实例,设置实例化传参指定需要创建形状类型。

  • 创建矩形时,按住鼠标左键拖动完成创建。

  • 创建多边形时,鼠标左键单击添加点,双击闭合完成创建,Escape退出创建,Backspace退一步删除选择点。

  • 按住鼠标右键拖动画布。

  • 鼠标滚轮缩放画布。

  • 选中形状,Backspace删除、delete快捷键删除

  • 通过 instance.dataset 查看标注结果

支持 UMD 模块规范

npm i canvas-to-react
``` ts中引用方式
import CanvasToReact from 'canvas-to-react';
const canvasSelect = new CanvasToReact(
        boxRef.current,
        'https://www.zhuhailiang.com/api/images/onepiece.png',
      );

1、实例属性

对任意属性的修改都需要调用instance.update()更新视图

属性名称类型默认值单个形状属性修改说明
lockbooleanfalse是否锁定画布
MIN_WIDTHnumber10最小矩形宽度
MIN_HEIGHTnumber10最小矩形高度
strokeStylestringrgb(0, 0, 255)支持形状边线颜色
fillStylestringrgba(0, 0, 255,0.1)支持形状填充颜色
activeStrokeStylestring#f00选中的形状边线颜色
ctrlFillStylestring#fff控制点填充颜色
ctrlRadiusnumber5控制点半径
pointRadiusnumber5圆半径
currentLabelnumber5默认填充标签值
labelFillStylestring#fff支持label 填充颜色
labelFontSizenumber12label文字大小
labelFontColorstring#000支持label 文字颜色
labelMaxLennumber5label 字符最大显示个数,超出字符将用...表示
rollScalbooleantrue是否允许滚轮缩放
createTypeboolean00 不创建,1 创建矩形,2 创建多边形,3 点标注
zoomCenterStringcanvasCenter缩放中心(canvasCenter 画布中心,mouse 鼠标)

2、实例方法

方法名称参数类型说明
setImagestring添加/切换图片
setDataArray加载初始数据
setScalebooleantrue 放大画布,false 缩小画布
fitZoom适配图片到画布 (contain)
update更新画布, 修改实例属性后要执行此方法
deleteByIndexnumber根据索引删除形状

3、事件

事件名称回调参数说明
selectinfo当前选中的数据
addinfo当前添加的数据
deleteinfo当前删除的数据
updatedinfo发生变化的形状数据
load图片加载完成
errorerror错误信息

3、快捷键事件

事件名称回调参数说明
'Escape', 'Backspace','Delete'删除标签当前选中的标签

引用和参考备注

参考了canvas-select感谢该作者🙏。

npm run build

1.2.2

1 year ago

1.1.6

1 year ago

1.1.5

1 year ago

1.1.4

1 year ago

1.1.3

1 year ago

1.1.1

1 year ago

1.0.15

1 year ago

1.0.13

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago