首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用KonvaJS用鼠标画箭头?

如何用KonvaJS用鼠标画箭头?
EN

Stack Overflow用户
提问于 2020-10-27 08:46:35
回答 1查看 223关注 0票数 1

社区。我需要使用KonvaJS用鼠标绘制一个箭头。我不使用React。这是我第一次使用KonvaJS。我已经搜索了解决这个问题的信息,但我什么也没找到。我也阅读了这个库的文档,但我只发现如何绘制一个基本的箭头。我将感谢你的帮助。非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2020-10-31 00:12:44

有很多种方法可以画箭头。您可以跟随Free drawing Konva Demo,但使用箭头而不是直线。

最简单的解决方案是使用mousedown -创建一条线,使用mousemove更新线位置,使用mouseup -完成线。

代码语言:javascript
复制
let arrow;
stage.on('mousedown', () => {
   const pos = stage.getPointerPosition();
    arrow = new Konva.Arrow({
      points: [pos.x, pos.y],
      stroke: 'black',
      fill: 'black'
    });
    layer.add(arrow);
    layer.batchDraw();
});

stage.on('mousemove', () => {
  if (arrow) {
      const pos = stage.getPointerPosition();
      const points = [arrow.points()[0], arrow.points()[1], pos.x, pos.y];
      arrow.points(points);
      layer.batchDraw();
  }
});

stage.on('mouseup', () => {
  arrow = null;
});

演示:https://jsbin.com/lefivihibu/2/edit?html,js,output

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

https://stackoverflow.com/questions/64546883

复制
相关文章

相似问题

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