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

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

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. 付费素材资源,需充值后方能下载,如有任何疑问可直接联系苦力吧客服
相关资源 / 实用工具

javascript在线随机生成可预览的随机背景颜色

一款在线生成背景颜色实用工具,它使用Math.floor函数为HTML十六进制颜色代码获取一个随机值,并将生成的该值设置为预览div作为背景色。生成的颜色代码显示在文本输入中,可点击按钮进行复制到剪贴板。
  实用工具
 5379  0

jquery支持移动端触摸和鼠标拖动的验证滑块插件

一个图片拼接滑块验证插件,通常用于检测当前用户是机器人还是真实用户,进行的手动表单验证。
  实用工具
 7265  0

js表单输入在线解密实用工具

Caesars密码是最简单、最广为人知的密码之一,也被称为移位密码。它通过移动给定文本中的字符来整合加密的形式。有助于保护敏感消息的安全和学习基本密码学。
  实用工具
 4244  0

jquery在线图片多功能裁剪实用工具

一款在线图片编辑实用工具,支持图片缩放、自由翻转、自由设置裁剪(正方形或圆角)、围绕图片中心或可视区域中心旋转和缩放、支持移动端触摸操作、可获取当前裁剪坐标位置等。
  实用工具
 9435  0

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

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