当前位置: 首页 > news >正文

如何建设企业网站ppt网站更改关键词

如何建设企业网站ppt,网站更改关键词,二级建造师报名的官网,seo网站排名优化公司哪家前言&#xff1a;一般在一些后台的流程资料以及审核的场景中会需要电子签名&#xff0c;介绍一种用canvas实现的电子签名&#xff0c;此案例用的是原生js 效果展示&#xff1a; 一、html和css&#xff1a; <div class"divCla2"><canvas id"myCanvas&q…

前言:一般在一些后台的流程资料以及审核的场景中会需要电子签名,介绍一种用canvas实现的电子签名,此案例用的是原生js

效果展示:

 一、html和css:

      <div class="divCla2"><canvas id="myCanvas" width="600" height="400"></canvas><button class="clearBtn">撤销</button><button class="downBtn">下载</button></div>
.divCla2{border: 1px solid #817e7e;width: 600px;height: 400px;
}

二、js实现逐步分析:(如果着急实现功能可以直接下滑到三)

整个电子签名的流程无非就是按下鼠标、画线、松开鼠标、停止画线

1、需要定义三个值:是否按下、当前的x坐标和y坐标,鼠标按下的时候就开始画

//获取canvas
let canvas = document.getElementById("myCanvas");
// 状态status,用于标记开始和暂停
let status = false;
//xy坐标
let x = 0;
let y = 0;
// 鼠标按下的时候开始画
canvas.addEventListener("mousedown", (e) => {status = true;x = e.offsetX;y = e.offsetY;console.log(x, y, status);
});

2、鼠标松开时就改变status的值为false

canvas.addEventListener("mouseup", () => {status = false;
});

3、鼠标移出画布时也一样:

canvas.addEventListener("mouseout", (e) => {status = false;
});

/4、鼠标移入并且status状态为true的时候就是可以画的

canvas.addEventListener("mousemove", () => {if (!status) return;
});

5、创建一个二维平面当做“笔”,并且加一些样式,比如描边颜色、拐角形状、线条末端形状、线条宽度等,然后绘制线条,可以看每一步的注释:

let ctx = canvas.getContext("2d"); // 建立二维平面
canvas.addEventListener("mousemove", (e) => {if (!status) return;//设置描边颜色ctx.strokeStyle = "#000";//拐角形状ctx.lineJoin = "round";//线条宽度ctx.lineWidth = 2;//末端形状ctx.lineCap = "round";//创建一条路径ctx.beginPath();//线条从哪里开始ctx.moveTo(x, y);//线条从哪里结束ctx.lineTo(e.offsetX, e.offsetY);//绘制路径ctx.stroke();//作为下次开始使用x = e.offsetX;y = e.offsetY;
});

 这样就已经可以绘制了

6、如果写错了,需要撤销功能,使用clearRect方法:

//撤销
const clearBtn = document.querySelector(".clearBtn");
clearBtn.addEventListener("click", () => {ctx.clearRect(0, 0, canvas.width, canvas.height);
});

7、 还要配合应用场景,有些时候需要将电子签名转化成图片,然后进行下载或者传给后端等,实现下载:

//下载
let downBtn=document.querySelector(".downBtn");
downBtn.addEventListener("click",()=>{let a = document.createElement("a");a.href = canvas.toDataURL("image/png");a.download = "canvas.png";a.click();
})

 

三、完整代码,可以直接复制使用:

let canvas = document.getElementById("myCanvas");let status = false;
let x = 0;
let y = 0;
canvas.addEventListener("mousedown", (e) => {status = true;x = e.offsetX;y = e.offsetY;console.log(x, y, status);
});
canvas.addEventListener("mouseup", () => {status = false;
});
canvas.addEventListener("mouseout", (e) => {status = false;
});
canvas.addEventListener("mousemove", () => {if (!status) return;
});
let ctx = canvas.getContext("2d"); // 建立二维平面
canvas.addEventListener("mousemove", (e) => {if (!status) return;ctx.strokeStyle = "#000";ctx.lineJoin = "round";ctx.lineWidth = 2;ctx.lineCap = "round";ctx.beginPath();ctx.moveTo(x, y);ctx.lineTo(e.offsetX, e.offsetY);ctx.stroke();x = e.offsetX;y = e.offsetY;
});
//撤销
const clearBtn = document.querySelector(".clearBtn");
clearBtn.addEventListener("click", () => {ctx.clearRect(0, 0, canvas.width, canvas.height);
});
//下载
let downBtn=document.querySelector(".downBtn");
downBtn.addEventListener("click",()=>{let a = document.createElement("a");a.href = canvas.toDataURL("image/png");a.download = "canvas.png";a.click();
})
http://www.yayakq.cn/news/235048/

相关文章:

  • 商城网站建设价格低免费行情网站app大全
  • 做调查问卷的网站知乎建设一个网站需要什么技术指标
  • 大型企业网站制作68设计网站
  • 知名高端网站建设报价wordpress手机接口
  • wordpress网站搬进入网站前如何做环境检测
  • 网站备案 年审婚庆公司简介模板
  • 去哪里找人做网站网站要做手机版怎么做的
  • 湖南专业做网站公司排名营销策略有哪几种
  • 石景山广州网站建设卖书网站开发的背景
  • 大连做网站孙晓龙开发一个电商app软件多少钱
  • 网站建设到底怎么回事无锡做网站公司在哪里
  • 专业做网站广州排名优化公司好不好
  • 建设银行网银盾连接不上网站二级建造师注册查询
  • 北京网站建设类岗位wordpress首页内容放哪里
  • 备案的网站建设书是什么汕头企业建站系统模板
  • 什么网站可以做ui小动画个人工作室如何纳税
  • 在一呼百应上做网站行吗网站用什么系统
  • 如何解决网站访问拥挤进入wordpress后
  • 网站开发与设计的实训报告wap网站微信分享代码
  • 做it的中国企业网站网页版传奇合击
  • 郴州网站开发公司搜索引擎推广特点
  • 电商网站 内容优化小程序微商城定制开发
  • 怎么模仿别人做网站石家庄造价工程信息网
  • 在建设部网站如何查询注册信息aso优化渠道
  • 标准化班组建设网站祖传做网站
  • 卡易售网站建设wordpress 开发语言
  • 临沂seo建站中国机械加工网招聘信息
  • 珠海网站建设创意智能商标logo设计
  • 中国人在国外做网站网站代理jsp网站开发心得
  • 手机网站自动跳转代码网站cms是什么意思