web页面-电子签名

发布时间:2023-07-01 15:00

html

<canvas id=\"canvas\" style=\"border:none ;\"></canvas>

 <div class=\"clearBtn\" ng-click=\"clearDrew()\">重新签名</div>
<div class=\"saveBtn\" ng-click=\"saveDrew()\">确认签订</div>

angularjs 框架 - js

var lastX, lastY;
 var canvasW = document.body.clientWidth - 70;
 console.log(document.body.clientWidth)
 var ctx = document.getElementById(\"canvas\").getContext(\"2d\");
 var c = document.getElementById(\"canvas\");

 $scope.hasTips = true;
 $scope.$on(\'$ionicView.afterEnter\', function () {  //进入页面执行
     InitThis();
     $scope.clearDrew();
     drawTips(true);
 }, false);
 var barHeight = 44; //biao
 //显示or清空 \'最佳书写区\'
 function drawTips(flag) {
     if (flag) {
         ctx.fillStyle = \"#aaa\";
         ctx.font = \"14px Arial\";
         ctx.fillText(\"最佳书写区\", (canvasW - 70) / 2, 80);
         ctx.stroke();
     } else {
         ctx.clearRect(0, 0, canvasW, 200);
     }
 }

 function InitThis() {
     //			触摸屏
     c.addEventListener(\'touchstart\', function (event) {
         if ($scope.hasTips) {
             drawTips(false)
         }
         if (event.targetTouches.length == 1) {
             event.preventDefault();// 阻止浏览器默认事件,重要
             var touch = event.targetTouches[0];
             mousePressed = true;
             console.log(event)
             Draw(touch.pageX - this.offsetLeft, touch.pageY - this.offsetTop - barHeight, false);
         }

     }, false);

     c.addEventListener(\'touchmove\', function (event) {
         if (event.targetTouches.length == 1) {
             event.preventDefault();// 阻止浏览器默认事件,重要
             var touch = event.targetTouches[0];
             if (mousePressed) {
                 Draw(touch.pageX - this.offsetLeft, touch.pageY - this.offsetTop - barHeight, true);
             }
         }
     }, false);

     c.addEventListener(\'touchend\', function (event) {
         if (event.targetTouches.length == 1) {
             event.preventDefault();// 阻止浏览器默认事件,防止手写的时候拖动屏幕,重要
             //      			var touch = event.targetTouches[0];
             mousePressed = false;
         }
     }, false);



     //		   鼠标
     c.onmousedown = function (event) {
         mousePressed = true;
         Draw(event.pageX - this.offsetLeft, event.pageY - this.offsetTop - barHeight, false);
     };

     c.onmousemove = function (event) {
         if (mousePressed) {
             Draw(event.pageX - this.offsetLeft, event.pageY - this.offsetTop - barHeight, true);
         }
     };

     c.onmouseup = function (event) {
         mousePressed = false;
     };
 }
 function Draw(x, y, isDown) {
     y = y * 0.8;
     if (isDown) {
         ctx.beginPath();
         ctx.strokeStyle = \'#333\'; //颜色
         ctx.lineWidth = 3;   //线宽
         ctx.lineJoin = \"round\";
         ctx.moveTo(lastX, lastY);
         ctx.lineTo(x, y);
         ctx.closePath();
         ctx.stroke();
         $scope.hasTips = false;
     }
     lastX = x; lastY = y;
 }
 
//清空内容
 $scope.clearDrew = function () {
     ctx.setTransform(1, 0, 0, 1, 0, 0);
     ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
     $scope.hasTips = true;
     // drawTips(true); 
 }
 
//保存签名内容
 $scope.saveDrew = function () {
     if ($scope.hasTips) {
         CommonService.alertPop(\"温馨提示\", \"请签名。\");
         return;
     }
     var a = document.createElement(\"canvas\");
     a.href = canvas.toDataURL(\"image/png\");
     var base64 = a.href.substr(22);
     if ($scope.Signatrue) {
         $state.go(\"elecSealConfirm\", {
             base64: base64,
             id: \"1\",
             sealType: \"own\"
         })
     } else {
         uploadFileCloud(base64)
     }


     console.log(canvas.toDataURL());
 }

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号