婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > html5 利用canvas手寫簽名并保存的實現方法

html5 利用canvas手寫簽名并保存的實現方法

熱門標簽:中紳電銷智能機器人 鄭州電銷外呼系統違法嗎 鶴壁手機自動外呼系統怎么安裝 跟電銷機器人做同事 農村住宅地圖標注 ai電銷機器人連接網關 濟南辦理400電話 威海營銷外呼系統招商 漳州人工外呼系統排名

最近公司在做一個簽名的功能,主要用到了canvas畫線的功能結合移動端touch事件

js部分是這樣的:

window.onload = function() {
    new lineCanvas({
        el: document.getElementById("canvas"),//繪制canvas的父級div
        clearEl: document.getElementById("clearCanvas"),//清除按鈕
        saveEl: document.getElementById("saveCanvas"),//保存按鈕
        //      linewidth:1,//線條粗細,選填
        //      color:"black",//線條顏色,選填
        //      background:"#ffffff"//線條背景,選填
    });
};
function lineCanvas(obj) {
    this.linewidth = 1;
    this.color = "#000000";
    this.background = "#ffffff";
    for (var i in obj) {
        this[i] = obj[i];
    };
    this.canvas = document.createElement("canvas");
    this.el.appendChild(this.canvas);
    this.cxt = this.canvas.getContext("2d");
    this.canvas.width = this.el.clientWidth;
    this.canvas.height = this.el.clientHeight;
    this.cxt.fillStyle = this.background;
    this.cxt.fillRect(0, 0, this.canvas.width, this.canvas.width);
    this.cxt.strokeStyle = this.color;
    this.cxt.lineWidth = this.linewidth;
    this.cxt.lineCap = "round";
    //開始繪制
    this.canvas.addEventListener("touchstart", function(e) {
        this.cxt.beginPath();
        this.cxt.moveTo(e.changedTouches[0].pageX, e.changedTouches[0].pageY);
    }.bind(this), false);
    //繪制中
    this.canvas.addEventListener("touchmove", function(e) {
        this.cxt.lineTo(e.changedTouches[0].pageX, e.changedTouches[0].pageY);
        this.cxt.stroke();
    }.bind(this), false);
    //結束繪制
    this.canvas.addEventListener("touchend", function() {
        this.cxt.closePath();
    }.bind(this), false);
    //清除畫布
    this.clearEl.addEventListener("click", function() {
        this.cxt.clearRect(0, 0, this.canvas.width, this.canvas.height);
    }.bind(this), false);
    //保存圖片,直接轉base64
    this.saveEl.addEventListener("click", function() {
        var imgBase64 = this.canvas.toDataURL();
        console.log(imgBase64);
    }.bind(this), false);
};

這是效果圖:

附上html和css

<div id="canvas">
    <p id="clearCanvas">清除</p>
    <p id="saveCanvas">保存</p>
</div>

html,body{
    width: 100%;
    height: 100%;
}
#canvas{
    width: 100%;
    height: 100%;
    position: relative;
}
#canvas canvas{
    display: block;
}
#clearCanvas{
    width: 50%;
    height: 40px;
    line-height: 40px;
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
    border: 1px solid #DEDEDE;
    z-index: 1;
}
#saveCanvas{
    width: 50%;
    height: 40px;
    line-height: 40px;
    text-align: center;
    position: absolute;
    bottom: 0;
    right: 0;
    border: 1px solid #DEDEDE;
    z-index: 1;
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:萍鄉 甘南 惠州 文山 紅河 蘇州 營口 咸陽

巨人網絡通訊聲明:本文標題《html5 利用canvas手寫簽名并保存的實現方法》,本文關鍵詞  html5,利用,canvas,手寫,簽名,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《html5 利用canvas手寫簽名并保存的實現方法》相關的同類信息!
  • 本頁收集關于html5 利用canvas手寫簽名并保存的實現方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 大田县| 新营市| 车险| 昌邑市| 栖霞市| 平陆县| 芷江| 柘城县| 灵宝市| 馆陶县| 瓮安县| 蕲春县| 巨野县| 广宁县| 长海县| 冕宁县| 安康市| 军事| 正定县| 柳河县| 象州县| 海伦市| 西和县| 石屏县| 高青县| 永和县| 大英县| 郧西县| 分宜县| 泸水县| 太原市| 商城县| 开江县| 敖汉旗| 曲阜市| 蓬莱市| 平远县| 东平县| 宁海县| 定兴县| 怀柔区|