所有分类
  • 所有分类
  • 后端开发

Vue Canvas小应用:使用鼠标绘制矩形的实例

Vue Canvas小应用:用鼠标画矩形的例子。

<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('../aa.jpg');
 }
</style>

可以试试,记得自己设置背景图片的路径。

原文链接:https://www.icz.com/technicalinformation/web/canvas/2023/05/9448.html,转载请注明出处~~~
0
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?