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支持自定义文本在线条形码生成器工具

基于JsBarcode库来快速生成条形码实用工具,可以是纯文本文字或网址等,都可生成条形码图片,支持下载条形码图片文件。
  实用工具
 4692  0

jquery复制文本文字到剪贴板插件

一个jQuery复制到剪贴板插件,点击按钮将DIV元素中的任何文本复制到用户的剪贴板。
  实用工具
 4663  0

基于javascript实现的各种单位之间的转换器工具

这是一款单位换算实用工具,可在不同的测量单位之间即时转换,如速度、面积、扭矩、电能、能量、力、长度、光、质量、质量流量、密度、功率、压力、温度、时间、速度、粘度、体积和体积流量,使用了下拉菜单列表进行选择单位,非常实用。
  实用工具
 7665  0

javascript+canvas实现的上传图片在线添加文字插件

一款在线图片编辑工具插件,先上传一张本地图片,然后输入文本文字,可添加到图片上方,提供了画布图片下载功能。
  实用工具
 81118  0

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

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