0.1.0 • Published 2 years ago

cdrag v0.1.0

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

CDrag

基于canvas 2d的图片文字拖拽、变形画板 image.png

安装

npm install --save cdrag
or
pnpm install --save cdrag

使用示例

import CDrag from 'cdrag'

const canvas = document.getElementById('CDrag-canvas')
// CDrag 的配置参数
const config = {
   // Canvas HTMLElement 强制性必填
  canvas, 
   // 要渲染的图形列表
  drawList: [
    {
      left: 200,
      top: 200,
      rotate: 45,
      width: 200,
      height: 160,
      zIndex: 0,
      img: 'https://images.pexels.com/photos/943905/pexels-photo-943905.jpeg?auto=compress&cs=tinysrgb&w=1600'
    },
    {
      left: 60,
      top: 60,
      rotate: 0,
      zIndex: 1,
      text: '引力波',
      size: 20,
      color: '#E6A23C'
    }
  ],
  // 列表更新回调
  update: (newList) => { console.log('更新后列表', newList)},
  // drawList数据项各字段name,可根据业务修改
  options: {
      left: 'left', // x轴距离
      top: 'top', // y轴距离
      rotate: 'rotate', // 旋转角度
      width: 'width', // 宽度(仅图片有效)
      height: 'height', // 高度(仅图片有效)
      zIndex: 'zIndex', // 渲染层级
      img: 'img', // 图片地址 (仅图片有效)
      text: 'text', // 文本内容 (仅文本有效)
      color: 'color', // 文本颜色 (仅文本有效)
      size: 'size', // 文本大小(仅文本有效)
    },
    // 图形选中时边框与控件颜色
    theme: '#396FFF',
    // 只展示不可操作(删除、变形、旋转)
    readOnly: false,
    // 画布是否可移动(仅在readOnly为true时有效)
    move: true,
  }

const cDrag = new CDrag(config)

添加新的渲染图形

const newDrawItem = {
      left: 100,
      top: 100,
      rotate: 0,
      zIndex: 1,
      text: '引力波1',
      size: 20,
      color: '#000'
    }
cDrag.addDraw(newDrawItem)

设置新渲染图形列表

const newDrawList = [{
      left: 100,
      top: 100,
      rotate: 0,
      zIndex: 1,
      text: '引力波1',
      size: 20,
      color: '#000'
    }]
cDrag.setDrawList(newDrawList)

config 参数

参数说明类型可选值默认值
canvasCanvas Dom对象HTMLElement必填-
drawList要渲染的图形列表Array必填-
updatedrawList列表更新的回调,返回更新后的drawList, (newList) => {}Function--
optionsdrawList数据项各字段名称,详情参加下面optionsObject--
theme图形选中时边框与控件颜色参考strokeStylefillStyle'#396FFF'
readOnly只展示不可操作(删除、变形、旋转)Booleanfalsefalse
move画布是否可移动(仅在readOnly为true时有效)Booleanfalsetrue

options 指定选项的值为选项对象的某个属性值

参数说明类型默认值
leftx轴距离String'left'
topy轴距离String'top'
width宽度(仅图片有效 最小值6)String'width'
height高度(仅图片有效 最小值6)String'height'
rotate旋转角度String'rotate'
img图片地址 (仅图片有效)String'img'
text文本内容 (仅文本有效,默认值#000)String'text'
color文本颜色 (仅文本有效)String'color'
size文本大小(仅文本有效,最小值12)String'size'

方法

方法名说明类型参数
addDraw添加新的渲染渲染数据项,触发update回调并绘制ObjectdrawItem
setDrawList设置drawList列表,触发update回调并绘制ArraynewDrawList
destroy销毁方法--
clearCanvas清空画布--

其他

License

MIT © Matheus Fernandes

0.1.0

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago

1.0.0

2 years ago