js 获取鼠标在画布的位置_Fabricjs - 如何在鼠标移动时检测画布?(Fabricjs - How to detect canvas on mouse move?)...

本文介绍了如何使用jQuery和Fabric.js实现在鼠标移动时检测画布上的位置,并根据画布索引改变绘制笔刷的颜色。通过创建多个canvas元素并用Fabric.js初始化,设置鼠标移动事件监听器,当鼠标移动到特定canvas上时,更新画笔宽度和颜色。同时,添加鼠标抬起事件处理函数,以便在用户释放鼠标时执行相关操作。
摘要由CSDN通过智能技术生成

Mullainathan,

Here some quick solution using jQuery:

var canvasStr = '';

var canvasArray = [];

var fabricCanvasArray = [];

var htmlStr = '';

var canvas = null;

//generate canavases

for (var i = 0; i < 4; i++){

canvasArray.push('c' + i);

htmlStr += ''

}

//append canvasses to the body

$('body').append(htmlStr);

//to the fabricjs parent div elements assign id's and generate string for jQuery with div id's

for (var i in canvasArray){

fabricCanvasArray[i] = new fabric.Canvas(canvasArray[i], {

isDrawingMode: true

});

$('#' + canvasArray[i]).parent().attr('id', ('div' + canvasArray[i]));

canvasStr += '#div' + canvasArray[i];

if (i < canvasArray.length - 1){

canvasStr += ',';

}

}

//jQuery event for mouse over each div element of the fabric canvas

$(canvasStr).mouseover(function(){

for (var i in fabricCanvasArray){

if (fabricCanvasArray[i].lowerCanvasEl.id == $(this).children(':first').attr('id')){

canvas = fabricCanvasArray[i];

canvas.freeDrawingBrush.width = 10;

var r = 255 - i*50;

var g = i * 50;

var b = 200 - i * 40;

canvas.freeDrawingBrush.color = 'rgb(' + r + ',' + g + ',' + b + ')';

canvas.on('mouse:up', function() {

//do your stuff

// canvas.renderAll();

});

break;

}

}

});

Also, you can run fiddle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值