问题标签 [konva]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
289 浏览

javascript - KonvaJS - 如何使用按钮触发器添加形状?

抱歉语法不好-

我对如何使用按钮触发器添加形状有疑问。但不工作

这是我的代码:HTML

这里是我的 js:

我在 javasrcipt 语言中非常新,任何建议或答案将不胜感激

谢谢

0 投票
1 回答
381 浏览

konvajs - Vue-Konva:有没有办法即时重新排序图层?

所以,我一直在使用 vue-konva,我有这样的事情:

目前,如果我想绘制新框,当图像上已有其他 annotationRects 时,会出现一些问题。因为它们在技术上位于 eventBox 和 Rubberbox 之上,所以当光标位于现有 annotationRect 之上时,它们会“阻止”这两个层。

但是,我不想总是让 eventBox 和 RubberBox 在 annotationRect 之上,因为我需要能够与 annotationRect 交互以移动它们、调整它们的大小等。

有没有办法让我重新排序 eventBox、rubberBox 和 annotationRect,即将顺序从原始 eventBox-rubberBox-annotationRect 更改为(从下到上)annotationRect-eventBox-rubberBox 并返回,例如当 vue组件从另一个组件接收事件?

0 投票
1 回答
204 浏览

konvajs - 有没有办法更具体地控制 konva 对象的拖动事件?

例如,通过设置stage.draggable(true) 我们可以使舞台可拖动。

默认情况下,它是一个连续的运动,这意味着每次鼠标在舞台上施加拖动时,都会调用拖动事件。这会导致我的应用程序滞后,可能是因为在每次拖动事件后需要重新绘制大量形状。

那么,有没有办法控制调用拖动事件的时间呢?或者也许我可以在每个拖动事件之间设置一个小的时间间隔?

0 投票
1 回答
176 浏览

konvajs - 如果 Konva 不可见,toDataURL() 返回一个空白图像

我有一个应用程序,其中 Konva 最初是隐藏的(它位于页面上选项卡控件的第二个“选项卡”上)。

当用户单击此页面上的“保存”按钮时,我正在尝试调用Stage.toDataURL()以获取 Konva 中的内容。但是,如果从不显示第二个选项卡,则始终返回空白图像。

  • Stage.draw()我之前试过打电话Stage.toDataURL(),但没有成功。
  • 我也尝试在调用之前缓存舞台Stage.toDataURL()。没运气。
  • 我在画布上没有任何图像,因此等待图像加载不是问题。
  • 一旦显示第二个选项卡,即使用户随后切换回第一个选项卡并重新隐藏 Konva,它也可以正常工作。

这是 Konva 的已知限制吗?除非它可见,否则它不会渲染?

编辑:已解决

一些代码试图在页面加载时在其容器内居中和缩放 Konva。由于容器还不可见,它的宽度和高度为 0。这导致代码将 Konva Stage 的宽度和高度设置为负数。一旦我阻止了它,它就可以很好地导出图像——即使是隐藏的。

0 投票
0 回答
29 浏览

javascript - KonvaJS | 形状位置不正确

我有一个关于如何根据 x 和 y 坐标定位形状的问题。

我尝试了以下方法:

和存储位置的方法:

但是上面的方法不起作用,形状位置与原始位置不匹配。

我不知道这个问题,任何建议或帮助将不胜感激。

0 投票
1 回答
591 浏览

vue.js - 画布不绘制图像 - Electron + Vue

我正在尝试在我的画布中绘制图像,但由于某种原因它无法正常工作。我尝试过使用默认画布 API、KonvaJS 和 FabricJS,但这些都不起作用。其他形状,如矩形、圆形等正常工作......

我的项目是一个通过 Vue Cli 使用 electron-builder 构建的电子应用程序。

使用默认画布 API 的代码:

使用 KonvaJS 编写代码:

FabricJS 代码:

CodeSandbox 中的示例:draw-image-test

是我做错了什么,还是这是一个vue问题?

0 投票
1 回答
37 浏览

reactjs - 离开视口时未触发 onDragEnd

我发现当将图层拖出视口并释放鼠标按钮时,图层仍处于拖动状态。你遇到过这样的问题吗?

看看这里:https ://codesandbox.io/s/llxq3yv829?file=/index.js

将红色矩形拖出视口,它仍然粘在光标上。

谢谢!

0 投票
1 回答
366 浏览

javascript - Konva 可以动态更改 Konva 的文本

我的问题是可以通过双击并使用键盘输入新文本来动态更改 Konva.text 的文本吗?

0 投票
0 回答
57 浏览

javascript - konvajs 多点触控秤台

如何将三角形设置为缩放,将圆圈设置为不缩放?(移动的) 在此处输入图像描述

0 投票
2 回答
222 浏览

ios - Konva 在三页后停止在 iPhone 上工作?

第一次在这里发布海报和非常业余的网站制作者。

我用 Konva 创建了这个测试站点:https ://snuck.in/test/pink

您可以点击方块进入下一页。

它在旧 iPhone 5 (iOS 10.3.4) 上运行良好。我可以浏览无穷无尽的页面。

当我在 iPhone 7 Plus (iOS 13.1.3) 上试用它时,我只能点击三个页面,然后它们开始出现空白。我在任何浏览器中都得到相同的结果:Safari、Chrome、Firefox、Opera Touch。

知道为什么它会工作三页然后退出吗?

让我知道我是否可以提供更多信息。非常感谢!