首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >帆布-元素叠加

帆布-元素叠加
EN

Stack Overflow用户
提问于 2015-11-26 16:20:25
回答 1查看 299关注 0票数 0

我需要构建一些画布应用,但形状不规则,元素相互重叠。我使用fabric.js作为画布,并导入SVG文件来绘制元素,但我无法检测到正确的悬停对象。

这里有一些例子:

我想在鼠标上检测到它何时会超过形状。

它在我的画布上是怎样的(红线角在画布ofc中是看不见的)

来自Fabric.js的示例代码

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-26 16:29:25

你必须使用"perPixelTargetFind“属性的织物。

这将准确地检查鼠标在物体上的位置。如果有图形,它将触发目标,否则不会。

代码语言:javascript
复制
var canvas = new fabric.Canvas('canvas');
canvas.perPixelTargetFind = true;
canvas.add(new fabric.Circle({ radius: 30, fill: 'green', top: 50, left: 100 }));
canvas.add(new fabric.Circle({ radius: 30, fill: 'green', top: 100, left: 200 }));
  
canvas.on('mouse:over', function(e) {
  e.target.setFill('red');
  canvas.renderAll();
});

canvas.on('mouse:out', function(e) {
  e.target.setFill('green');
  canvas.renderAll();
});
代码语言:javascript
复制
<script src="http://fabricjs.com/lib/fabric.js"></script>
<canvas id='canvas' width="550" height="550" style="border:#000 1px solid;"></canvas>

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33943144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档