HTML5+Canvas创建的用鼠标绘制一条直线

所属分类: 网页特效-实用工具    2024-02-02 11:58:18

 31.1K  0  查看评论 (0)
HTML5+Canvas创建的用鼠标绘制一条直线 ie兼容6
 查看演示  登录后下载 温馨提示
登录会员即可享受免费下载
 我要建站

HTML5+Canvas创建的用鼠标绘制一条直线(共3个文件)

    • index.html

使用方法

const canvasEle = document.getElementById('drawContainer');
const context = canvasEle.getContext('2d');
let startPosition = {x: 0, y: 0};
let lineCoordinates = {x: 0, y: 0};
let isDrawStart = false;

const getClientOffset = (event) => {
    const {pageX, pageY} = event.touches ? event.touches[0] : event;
    const x = pageX - canvasEle.offsetLeft;
    const y = pageY - canvasEle.offsetTop;

    return {
       x,
       y
    } 
}

const drawLine = () => {
   context.beginPath();
   context.moveTo(startPosition.x, startPosition.y);
   context.lineTo(lineCoordinates.x, lineCoordinates.y);
   context.stroke();
}

const mouseDownListener = (event) => {
   startPosition = getClientOffset(event);
   isDrawStart = true;
}

const mouseMoveListener = (event) => {
  if(!isDrawStart) return;
  
  lineCoordinates = getClientOffset(event);
  clearCanvas();
  drawLine();
}

const mouseupListener = (event) => {
  isDrawStart = false;
}

const clearCanvas = () => {
   context.clearRect(0, 0, canvasEle.width, canvasEle.height);
}

canvasEle.addEventListener('mousedown', mouseDownListener);
canvasEle.addEventListener('mousemove', mouseMoveListener);
canvasEle.addEventListener('mouseup', mouseupListener);

canvasEle.addEventListener('touchstart', mouseDownListener);
canvasEle.addEventListener('touchmove', mouseMoveListener);
canvasEle.addEventListener('touchend', mouseupListener);

站长提示:
1. 苦力吧素材官方QQ群:950875342
2. 平台上所有素材资源,需注册登录会员方能正常下载。
3. 会员用户积极反馈网站、素材资源BUG或错误问题,每次奖励2K币
4. PHP源码类素材,如需协助安装调试,或你有二次开发需求,可联系苦力吧客服。
5. 付费素材资源,需充值后方能下载,如有任何疑问可直接联系苦力吧客服
相关资源 / 实用工具

jquery可自由拖拽的场地排座工具

一款场地排座实用工具插件,可自由多行多列的座位数,可鼠标拖拽桌子、主席台、过道至任意位置,还可自由填写座位姓名。
  实用工具
 9712  0

jquery页面右下角鼠标悬停滑动显示的在线客服特效代码

一款页面右侧浮动固定的在线客服代码,鼠标悬停于图标上触发动画滑动显示联系方式,可显示文本文字或图片。
  实用工具
 6788  0

vue汽车车检时间在线计算器

一款超实用的汽车年检计算器,基于vue实现的车辆计算下次车检的日期。
  实用工具
 8710  0

jquery带画笔橡皮擦功能的在线涂鸦插件

一款在线涂鸦工具插件,可直接将网页变成画布,可以用鼠标在页面上涂抹、涂鸦和绘图。使用它可以突出显示网页的重要内容,写笔记或评论,并与朋友分享你的笔记。
  实用工具
 2848  0

评论数(0) 回复有机会获得K币 用户协议

^_^ 还没有人评论,快来抢个沙发!
😀
  • 😀
  • 😊
  • 😂
  • 😍
  • 😑
  • 😷
  • 😵
  • 😛
  • 😣
  • 😱
  • 😋
  • 😎
  • 😵
  • 😕
  • 😶
  • 😚
  • 😜
  • 😭
发表评论