vue 鼠标拖动画矩形_Vue使用鼠标在Canvas上绘制矩形

本文展示了如何在Vue应用中利用Canvas API,通过监听鼠标事件来实现在画布上拖动绘制矩形的功能。包括mousedown、mouseup和mousemove事件的处理,以及clearRect、strokeRect等方法的使用。
摘要由CSDN通过智能技术生成

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

1.代码

width="460" height="240" @mousedown="mousedown" @mouseup="mouseup" @mousemove="mousemove">

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() {

}

};

#myCanvas{

background-color: forestgreen;

background-image:url('../bg.jpg');

}

2.运行截图

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值