Vue使用鼠标在Canvas上绘制矩形


Posted in Vue.js onDecember 24, 2020

本文实例为大家分享了Vue使用鼠标在Canvas上绘制矩形的具体代码,供大家参考,具体内容如下

1.代码

<template>
 <div class="test" style="background-color: burlywood;">
 <canvas id="myCanvas" ref="myCanvas"
   width="460" height="240" @mousedown="mousedown" @mouseup="mouseup" @mousemove="mousemove">
 </canvas>
 </div>
</template>
 
<script>
 export default {
 name:"hello-world",
 data() {
  return {
  flag: false,
  x: 0,
  y: 0
  };
 },
 watch: {},
 computed: {},
 methods: {
  mousedown(e){
  console.log("鼠标落下");
  this.flag = true;
  this.x = e.offsetX; // 鼠标落下时的X
  this.y = e.offsetY; // 鼠标落下时的Y
  },
  mouseup(e){
  console.log("鼠标抬起");
  this.flag = false;
  },
  mousemove(e){
  console.log("鼠标移动");
  this.drawRect(e);
  },
  drawRect(e){
  if(this.flag){
   console.log("绘制图形");
   const canvas = this.$refs.myCanvas;
   var ctx = canvas.getContext("2d");
   let x = this.x;
   let y = this.y;
 
   ctx.clearRect(0,0,canvas.width,canvas.height);
   ctx.beginPath();
 
   //设置线条颜色,必须放在绘制之前
   ctx.strokeStyle = '#00ff00';
   // 线宽设置,必须放在绘制之前
   ctx.lineWidth = 1;
 
   ctx.strokeRect(x,y,e.offsetX-x,e.offsetY-y);
  }
  }
 },
 created() {
 
 },
 mounted() {
 
 }
 };
</script>
 
<style scoped>
 #myCanvas{
 background-color: forestgreen;
 background-image:url('../bg.jpg');
 }
</style>

2.运行截图

Vue使用鼠标在Canvas上绘制矩形

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Vue.js 相关文章推荐
vue element-ul实现展开和收起功能的实例代码
Nov 25 Vue.js
vue $router和$route的区别详解
Dec 02 Vue.js
vue中如何自定义右键菜单详解
Dec 08 Vue.js
Vue实现多页签组件
Jan 14 Vue.js
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 Vue.js
vue引入Excel表格插件的方法
Apr 28 Vue.js
Vue项目中如何封装axios(统一管理http请求)
May 02 Vue.js
vue+elementui 实现新增和修改共用一个弹框的完整代码
Jun 08 Vue.js
Vue vee-validate插件的简单使用
Jun 22 Vue.js
vue实现锚点定位功能
Jun 29 Vue.js
vue组件vue-esign实现电子签名
Apr 21 Vue.js
vue elementUI批量上传文件
Apr 26 Vue.js
vue绑定class的三种方法
Dec 24 #Vue.js
全面解析Vue中的$nextTick
Dec 24 #Vue.js
vue实现登录、注册、退出、跳转等功能
Dec 23 #Vue.js
vue下拉刷新组件的开发及slot的使用详解
Dec 23 #Vue.js
Vue3 实现双盒子定位Overlay的示例
Dec 22 #Vue.js
详解Vue的异步更新实现原理
Dec 22 #Vue.js
Vue组件简易模拟实现购物车
Dec 21 #Vue.js
You might like
php抽奖概率算法(刮刮卡,大转盘)
2020/04/17 PHP
详解Laravel视图间共享数据与视图Composer
2016/08/04 PHP
PHP magento后台无法登录问题解决方法
2016/11/24 PHP
php事务回滚简单实现方法示例
2017/03/28 PHP
JS仿flash上传头像效果实现代码
2011/07/18 Javascript
jQuery代码优化 事件委托篇
2011/11/01 Javascript
ExtJS4给Combobox设置列表中的默认值示例
2014/05/02 Javascript
JavaScript中使用stopPropagation函数停止事件传播例子
2014/08/27 Javascript
JavaScript中提前声明变量或函数例子
2014/11/12 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
javascript回调函数的概念理解与用法分析
2017/05/27 Javascript
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
layui表单提交到后台自动封装到实体类的方法
2019/09/12 Javascript
[04:48]DOTA2上海特锦赛小组赛第三日 TOP10精彩集锦
2016/02/28 DOTA
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
python通过pip更新所有已安装的包实现方法
2017/05/19 Python
动态规划之矩阵连乘问题Python实现方法
2017/11/27 Python
《Python学习手册》学习总结
2018/01/17 Python
numpy中loadtxt 的用法详解
2018/08/03 Python
Python实现查找二叉搜索树第k大的节点功能示例
2019/01/24 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
2020/07/14 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
印度婴儿用品在线商店:Firstcry.com
2016/12/05 全球购物
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
英格兰足协官方商店:England Store
2019/07/12 全球购物
试述DBMS的主要功能
2016/11/13 面试题
英文自荐信格式
2013/11/28 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/09/30 职场文书
党的群众路线教育实践活动个人整改措施范文
2014/11/04 职场文书
2014年教师德育工作总结
2014/11/10 职场文书
指导教师推荐意见
2015/06/05 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
基于flask实现五子棋小游戏
2021/05/25 Python
使用CSS自定义属性实现骨架屏效果
2022/06/21 HTML / CSS