0.1.0 • Published 11 months ago

cdrag v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months 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

11 months ago

0.0.8

11 months ago

0.0.7

11 months ago

0.0.6

11 months ago

0.0.5

11 months ago

0.0.4

11 months ago

0.0.3

11 months ago

0.0.2

11 months ago

0.0.1

11 months ago

1.0.0

1 year ago