问题标签 [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 回答
250 浏览

reactjs - 在 React-Konva 中从两侧增加箭头

我正在用 React-Konva 画一条线。绘制线后,我想在该线下方显示一个箭头(两侧都有指针)。该箭头应该比线长(两边),但应该指向相同的方向。

到目前为止,我尝试的是创建一个与线具有相同点的箭头,然后使用该箭头上的比例使其比线长。这可行,但箭头仅在一侧比线长。

截屏

有没有一种方法可以用来实现这一点?

0 投票
1 回答
86 浏览

konvajs - Konva 自定义形状中的文本

我需要自定义形状的文本输出。

我的代码:sceneFunc(context, shape) {

文本已正确呈现,但未填充。如何填写文本?

文本输出

0 投票
1 回答
75 浏览

angular - 在 Konva 中逐步调整矩形大小

我想请一些帮助。在我的应用程序中,矩形需要粘在网格上。我找到了一种在拖动网格时跟随网格的解决方案,但是在调整大小的情况下,我无计可施。使用以下代码达到一个网格单元大小需要 5 个步骤:

变换后的矩形:

此外,矩形有奇怪的行为。缩放仅适用于向右和底部方向,当我尝试拖动左侧或顶部锚点时,整个矩形移动缓慢而不是缩放。任何想法将不胜感激!

我用angular 10Konva 7.1.0

0 投票
1 回答
258 浏览

konvajs - 将变压器应用于具有 Konva 剪辑属性的组时,如何设置变压器的初始尺寸?

我有Konva.Group几个节点,我设置了剪辑属性以限制看到的内容。我正在申请Konva.Transformer该组,我面临的问题是 Transformer 包含了整个组,甚至是未剪辑的部分。即使它功能齐全并且可以完成工作,这看起来也不是很好。有什么方法可以设置变压器的初始宽度和高度,使其仅包含被剪裁的部分?

这是应用剪辑和变换之前的组

在此处输入图像描述

这是应用剪辑和变换后的样子

在此处输入图像描述

0 投票
1 回答
564 浏览

javascript - React-konva 移动缩放和可拖动图像

我正在使用 Konva.js 构建一个画布应用程序。此应用程序允许用户拖动图像并在任意点缩放。这在桌面上完美运行。但是,我喜欢这个应用程序能够响应移动设备。这里的问题是画布缩放和图像拖动不能同步工作。由于“onTouchMove”事件在图像拖动时起作用,因此该应用程序无法按预期工作。

我试图控制触摸事件长度,因为如果它是 2,这意味着它来自多点触控,因此缩放可以激活,反之亦然。然而,它也没有奏效。感谢您提前提供任何帮助。该演示可以在https://codesandbox.io/s/react-konva-zoom-webmobile-demo-em5o6上找到。

0 投票
1 回答
80 浏览

javascript - Konva hasIntersection js

我是新手 konvas libray 用户,我尝试制作一个简单的游戏,我需要检测何时从形状中拖出盒子并显示警报“louser”,问题是形状不规则,因为检测事件的功能对矩形形状很好,但是在不规则形状中不尊重边框形式,我希望可以帮助我检测盒子何时拖出不规则形状并尊重边框,thankeyou,代码如下

0 投票
1 回答
34 浏览

javascript - 如何修复 forloop 的动画效果

如何在js中为整个for循环制作动画?

0 投票
1 回答
244 浏览

reactjs - 反应 konva 在舞台上放大时保持一层固定

我正在 Konva 中开发地图(绿色矩形)和在其上绘制的路径(黑线):

在此处输入图像描述

地图具有固定尺寸,而路径是从 API 调用中获取的。

我希望能够使用鼠标滚动或单击我创建的按钮 + o 来缩放地图。

我按照这个示例如何对滚动进行 react-konva 缩放以实现缩放,但是当我滚动时,按钮也会改变它们的位置,见下图。

在此处输入图像描述

我想将按钮固定在地图的底部。

这是我的一段代码,我定义了一些自定义组件为MapGroundWholePathGroundButtonsButton

这是我实施的解决方案: 感谢 Ondolin 的回答。

0 投票
0 回答
32 浏览

javascript - 使用 Konva.Js 相互交换对象

我可以使用 Konva.js 将六边形分类到 Canvas 中。我希望六边形在保持这种形状的同时相互交换。

当我将 Konva 的“draggable:true”属性添加到六边形时,我无法保持形状。

我还没有遇到过与 Konva 交换的示例。你能帮我解决这个问题吗?

JSFiddle 链接

0 投票
1 回答
321 浏览

javascript - konvajs 中图像的圆形裁剪

我想在我的画布上显示圆形裁剪图像,我正在使用 konvajs。有什么办法可以在 konva 本身中做到这一点,或者 JS/CSS 有什么解决方法吗?

这是我用于加载图像的代码。