0.0.5 • Published 1 year ago

galaxy-canvas-sign v0.0.5

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

galaxy-canvas-sign

一款支持 PC 端,移动端 Canvas 签名插件。

安装使用

npm i galaxy-canvas-sign -s

html:

<div id="canvas-sign">
</div>

js

 const vm = new CanvasSign({
    el:'#signCanvas',        // 在某个节点下插入画板
    width:800,               // canvas 宽度
    height:400,              // canvas 高度
    crop:true,               // 是否裁剪出签名区域
    cropPaddingX:10,         // 裁剪出签名区域水平 padding
    cropPaddingY:10,         // 裁剪出签名区域垂直 padding
    color:'#000',             // 画笔颜色
    lineWidth:2,             // 画笔宽度
    lineCap:'round',         // 笔尖类型
})
vm.init()

属性配置

属性属性说明是否必传默认值
el画布挂载在哪个节点下,需保证唯一-
width画布宽度800
height画布高度400
crop是否裁剪出实际签名区域false
cropPaddingX裁剪区域水平留边10
cropPaddingY裁剪区域垂直留边10
color画笔颜色#000
lineWidth画笔宽度2
lineCap画笔末端类型,同 canvas lineCapround

实例方法

方法方法说明
init初始化画布实例之后必须手动调用
clear清空画布
exportCanvas导出画布元素方法,返回 canvas,可以调用 toDataURL 等方法
getPoints返回所有绘制点的坐标数组,可以通过此方法判断用户是否签名

example

npm run dev
PC端:http://localhost:8000/example/pc.html
移动端:http://localhost:8000/example/h5.html

html:

 <div class="container">
        <p>请在下面区域签字</p>
        <div id="signCanvas"></div>
        <div>
            <button class="btn btn-warning" onclick="clearSign()">清空</button>
            <button class="btn btn-primary" onclick="getBase64()">确定</button>
        </div>
    </div>
    <div style="margin-top:8px">
        <img id="imgPreview" style="border: 1px solid gray;"/>
    </div>

js:

const vm = new CanvasSign({
    el:'#signCanvas',        // 在某个节点下插入画板
    width:800,               // canvas 宽度
    height:400,              // canvas 高度
    crop:true,               // 是否裁剪出签名区域
    cropPaddingX:10,         // 裁剪出签名区域水平 padding
    cropPaddingY:10,         // 裁剪出签名区域垂直 padding
    borderStyle:'dashed',    // canvas 边框类型
    color:'red',             // 画笔颜色
    lineWidth:2,             // 画笔宽度
    lineCap:'round',         // 笔尖类型
})

vm.init()

function clearSign(){
    vm.clear()
    const el = document.getElementById("imgPreview")
    el.src = ""
}

function getBase64(){
    if(vm.getPoints().length <=3){
        alert('请先签名!')
        return
    }
    const base64 = vm.exportCanvas().toDataURL("image/png")
    const el = document.getElementById("imgPreview")
    el.src = base64
}

License

Released under MIT LICENSE。

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago