校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 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手寫簽名并保存的實現方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 潞城市| 大邑县| 来宾市| 石首市| 包头市| 博爱县| 石棉县| 宿迁市| 彝良县| 德清县| 邻水| 利津县| 宜川县| 平塘县| 湟源县| 兴宁市| 大同县| 西华县| 思南县| 万源市| 道孚县| 大新县| 九龙县| 阜阳市| 元谋县| 上饶县| 东宁县| 绥宁县| 略阳县| 河北区| 图们市| 威信县| 梧州市| 奉化市| 毕节市| 东乡| 周口市| 海晏县| 凌海市| 洛南县| 沙坪坝区|