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 相关文章推荐
快速解决vue2+vue-cli3项目ie兼容的问题
Nov 17 Vue.js
Vue使用Element实现增删改查+打包的步骤
Nov 25 Vue.js
vue实现表格合并功能
Dec 01 Vue.js
8个非常实用的Vue自定义指令
Dec 15 Vue.js
基于vue+echarts数据可视化大屏展示的实现
Dec 25 Vue.js
如何在 Vue 中使用 JSX
Feb 14 Vue.js
vue引入Excel表格插件的方法
Apr 28 Vue.js
vue+spring boot实现校验码功能
May 27 Vue.js
一定要知道的 25 个 Vue 技巧
Nov 02 Vue.js
前端vue+express实现文件的上传下载示例
Feb 18 Vue.js
vue @click.native 绑定原生点击事件
Apr 22 Vue.js
vue3 自定义图片放大器效果的示例代码
Jul 23 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和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
2011/07/03 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
2016/06/13 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
2019/09/18 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
2020/08/06 PHP
Javascript变量函数浅析
2011/09/02 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
浅析jquery数组删除指定元素的方法:grep()
2016/05/19 Javascript
浅谈jquery选择器 :first与:first-child的区别
2016/11/20 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
详细介绍解决vue和jsp结合的方法
2020/02/06 Javascript
微信小程序实现简单文字跑马灯
2020/05/26 Javascript
JavaScript实现简易计算器小功能
2020/10/22 Javascript
[02:51]DOTA2 Supermajor小组分组对阵抽签仪式
2018/06/01 DOTA
跟老齐学Python之一个免费的实验室
2014/09/14 Python
在Python的Django框架下使用django-tagging的教程
2015/05/30 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
python实现PID算法及测试的例子
2019/08/08 Python
一款基于css3的动画按钮代码教程
2014/11/23 HTML / CSS
西班牙国家航空官方网站:Iberia
2017/11/16 全球购物
sort命令的作用和用法
2013/08/25 面试题
会计大学生职业生涯规划书范文
2014/01/13 职场文书
周年庆典邀请函范文
2014/01/24 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
中学生学雷锋活动心得体会
2014/03/10 职场文书
服装设计专业自荐信
2014/06/17 职场文书
环保志愿者活动总结
2014/06/27 职场文书
党员三严三实对照检查材料
2014/10/13 职场文书
单身证明格式样本
2015/06/15 职场文书
Go语言切片前或中间插入项与内置copy()函数详解
2021/04/27 Golang
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
2021/06/26 MySQL
Python实现打乒乓小游戏
2021/09/25 Python
MySQL一劳永逸永久支持输入中文的方法实例
2022/08/05 MySQL