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组件中节流函数的失效的原因和解决方法
Dec 02 Vue.js
vue添加自定义右键菜单的完整实例
Dec 08 Vue.js
Vue使用鼠标在Canvas上绘制矩形
Dec 24 Vue.js
Vue 简单实现前端权限控制的示例
Dec 25 Vue.js
vue 使用 sortable 实现 el-table 拖拽排序功能
Dec 26 Vue.js
Vue实现省市区三级联动
Dec 27 Vue.js
vue 计算属性和侦听器的使用小结
Jan 25 Vue.js
vue浏览器返回监听的具体步骤
Feb 03 Vue.js
vue使用lodop打印控件实现浏览器兼容打印的方法
Feb 07 Vue.js
WebStorm无法正确识别Vue3组合式API的解决方案
Feb 18 Vue.js
vite2.0+vue3移动端项目实战详解
Mar 03 Vue.js
vue 把二维或多维数组转一维数组
Apr 24 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模拟post行为代码总结(POST方式不是绝对安全)
2012/02/22 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
PHP中rename()函数的妙用讲解
2019/02/28 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
jquery隐藏标签和显示标签的实例
2013/11/11 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
JQuery实现展开关闭层的方法
2015/02/17 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
2015/10/01 Javascript
JS中对Cookie的操作详解
2016/08/05 Javascript
jquery删除数组中重复元素
2016/12/05 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
2017/01/23 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
值得收藏的vuejs安装教程
2017/11/21 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
跟老齐学Python之赋值,简单也不简单
2014/09/24 Python
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
windows下python之mysqldb模块安装方法
2017/09/07 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
2018/07/04 Python
Python求离散序列导数的示例
2019/07/10 Python
python机器学习包mlxtend的安装和配置详解
2019/08/21 Python
Pytorch之contiguous的用法
2019/12/31 Python
python图片剪裁代码(图片按四个点坐标剪裁)
2020/03/10 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
基于Python爬取股票数据过程详解
2020/10/21 Python
python获取天气接口给指定微信好友发天气预报
2020/12/28 Python
MONNIER Frères英国官网:源自巴黎女士奢侈品配饰电商平台
2018/12/06 全球购物
伦敦新晋轻奢耳饰潮牌:Tada & Toy
2020/05/25 全球购物
什么是会话Bean
2015/05/14 面试题
《雨霖铃》听课反思
2014/02/13 职场文书
督导岗位职责
2015/02/04 职场文书
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server